JWSCL Features Overview
22
Feb
Posted by: Christian Wimmer in: JWSCL Downloads
I had some free time that I used to put together all the features JWSCL provides currently. There are some more features that are implemented by other tool classes or functions that I left out in favor of a good overview. A complete overview of all classes, methods and more gives you the documentation at http://jwscldoc.delphi-jedi.net.
So here are the feautures (You can look up the class names on the documentation page):
- Windows Token management (TJwSecurityToken)
- Impersonation
- Supports LogonUser, LsaLogonUser
- Lots more
- Full support of Security ID (SID) (TJwSecurityID, TJwSecurityIDList)
- Also well known security IDs like Everyone (JwsclKnownSid.pas) are stored as simple to use variables.
- Full support of Access Control Lists (also CALLBACK_ACE and OBJECT_ACE)
- Full support of Security Descriptor (SECURITY_DESCRIPTOR) (TJwSecurityDescriptor)
- DACL, SACL, Owner, Group
- Implements a simple to use Security Descriptor (TJwSimpleDescriptor)
- Security Rights Mapping; Maps Generic Rights to specific ones (JwsclMapping.pas)
- Conversion of Security Rights (DWORD) to Human Readable names (JwFormatAccessRights)
- Privileges (TJwPrivilege, TJwPrivilegeSet, JwsclPrivileges.pas)
- Windowstation and Desktops (TJwSecurityWindowStation, TJwSecurityDesktop)
- Local Security Authority Logon Sessions (TJwLsaLogonSession)
- Security of Windows objects; files, registry, handles (TJwSecureFileObject, TJwSecureFileObject, TJwSecureGeneralObject)
- Support of Access Checking (AccessCheck)
- Supports Inheritance (by default only files and registry)
- Support of MS AuthZ API; Client Side Access Checks for custom Resources (JwsclAuthCtx.pas)
- Credentials GUI API (TJwCredentialsPrompt)
- MS Encryption and Protection API (TJwEncryptionApi, TJwEncryptMemory, TJwRandomDataGenerator)
- Windows Version Detection on remote or local client (TJwFileVersion, TJwServerInfo, TJwWindowsVersion)
- Security Descriptor GUI (TJwSecurityDescriptorDialog)
- Terminal Sessions (TJwTerminalServer)
- Server Management
- Sessions Management
- Processes Management
- Vista Elevation (JwShellExecute, JwElevateProcess, JwsclElevation.pas)
- Vista Integrity Level (Built in)
- Firewall Administration (TJwsclFirewall)
- Builtin basic Sma rtpointer Support (TJwAutoLock)
- Job Object support (TJwJobObject) even with several sessions (TJwJobObjectSessionList)
- Process Handling that encapsulates support for different Windows Versions and bugs in API (functions JwCreateProcessAsAdminUser, JwCreateProcessInSession, JwGetProcessSessionID, JwGetTokenFromProcess, JwProcessIdToSessionId)
- Support Memory Mapped Objects (TJwFileStreamEx, TJwIPCStream, TJwVirtualStream)
- Extended Thread Support lile naming threads and WaitWithTimeOut (TJwThread)
- Hashing Support (TJwHash)
- For JWSCL classes (JwObjectHash)
- For files (JwCreateFileHash, JwCompareFileHash, JwDataHash, JwIntegerHash) in combination with fast Memory Mapping.
- DCOM support for Client and Server (currently only developer branch); CoInitializeSecurity (TJwComProcessSecurity), Authentication, Impersonation, Proxy Security Blanket (TJwComClientSecurity, TJwComServerSecurity), Access Control (TJwServerAccessControl), DCOM Configuration (TJwComRegistrySecurity) of Global Configs and Class Security.
- Easy to use WinAPI (Msg)WaitForMultipleObjects functions (JwMsgWaitForMultipleObjects, JwMsgWaitForMultipleObjects)
- Multi Language Support of Resource Files (LoadLocalizedString)
- Ansi- & Unicode due to own Delphi compatible String type TJwString (JwsclAnsiUniCode.pas)
- Mapping of Windows Constants to Delphi enumeration (TJwEnumMap)
- All errors are reported by exceptions using a derived class from EJwsclSecurityException. (JwsclExceptions.pas)
- Supports Bugreports with Eurekalog (JwsclEurekaLogUtils.pas)
- JWSCL is based on OOP
To come
- Active Directory Support
- User Account Management
Current version is 0.9.3 Download.
3 Responses
Sebastian
22|Feb|2010 1Thank you.
Mick
22|Feb|2010 2Thank you for all of your effort and work! This is one of the *most* useful Delphi projects available, open-source or commercial.
Rich
22|Feb|2010 3Thanks!
JWSCL is one of the most important projects for Delphi.
But I think it needs to be “blessed” with 1.0 or 1.1 version number before companies start using it.
I worked at more than one place where company IT policy forbid buying or installing 1.0 products. Or installing Windows OS before SP2.
Leave a reply
You must be logged in to post a comment.