There may be times when you wish to delegate trust from one appliance or application to your Password Server. When used, it allows a trusted application to access credential information on behalf of a user it has already authenticated. An example where this might be used is to allow an RMM tool or remote access application to collect the credentials to inject during a login without prompting the user to enter their credentials to the Password Server if they have already authenticated elsewhere.
Warning: Use this feature with care. If you are not careful, it becomes possible to misuse this feature without validating the identity of the caller. If in doubt, do NOT enable this feature, and ask your security team to review your needs.
Setting up delegated trust
Trust is established by the use of digital certificates. You will need to maintain a full X.509 certificate which holds the public and private key on your application/server, in a non-exportable form within the Windows Certificate Store. You will also need to import the equivalent public certificate into Password Server so it knows to trust your application/server.
Create the X.509 certificate for the Application/Server
The steps below rely on Microsoft’s makecert.exe
cmd line tool. This is generally available in any of Microsoft’s SDKs. If you currently maintain your own Certificate Authority (CA) and have the ability to generate and issue your own certificates, you can do so instead of using tools like makecert
. What follows is guidance for IT teams who may not have such infrastructure and need to generate their own self-signed certificates.
makecert -ss My -sky Exchange -pe -n "CN=hostname"
myPrivateDTcert.pfx.
Warning: This is your PUBLIC/PRIVATE keypair for the application/server. KEEP IT SAFE.
myPublicDTcert.cer
.Warning: This is your PUBLIC key certificate used by Password Server.
Installing your private key into the Windows Certificate Store of the Application/Server
Installing your public key into the Password Server
At this point you can now call into the delegated SOAP/XML web services using dtLogon()
to establish trust, and then request credentials as appropriate. Please see the Scorpion Software Developer Center for more information.
At this point, your instance of Password Server can now accept requests via web services from your trusted host, using the certificate as the authenticator. This certificate must have a Common Name (CN) that matches both a forward and reverse lookup name resolution on the AuthAnvil system. In other words, if your DNS name for the system resolves to yourapp.contoso.com
, then the CN should be CN=yourapp.contoso.com
. Using the configured digital thumbprint of the certificate and its public key, AuthAnvil validates all requests and encrypts all responses using asymmetric encryption from that certificate.