Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Check Certificate for Private KeyChecks to see if a certificate has its associated private key installed on the computer. Detailed Instructions for Installing a PFX for Use by ASP / ASP.NET LOCAL loCert LOCAL lnSuccess LOCAL lnHasPrivKey loCert = CreateObject('Chilkat.Cert') * There are many ways of loading a Chilkat certificate object: * 1) From a Windows registry-based certificate store. * 2) From a PFX file. * 3) From a DER encoded .cer file. * 4) From a PEM file. * The point of this example is to show how to check for the existence * of a usable private key. This is done by calling the HasPrivateKey method. * The LoadByCommonName method searches the registry-based * Windows Current User Certificate Store and Local Machine Certificate * Store for a certificate whose common name (CN) matches * the argument: lnSuccess = loCert.LoadByCommonName("Chilkat Software, Inc.") IF (lnSuccess = 0) THEN =MESSAGEBOX("Failed to find certificate!") ELSE * Display the certificate's distinguished name: ? loCert.SubjectDN lnHasPrivKey = loCert.HasPrivateKey() IF (lnHasPrivKey = 1) THEN ? "Certificate has a usable private key." ELSE ? "Certificate does not have a private key." ENDIF * If HasPrivateKey returns 0, it's possible that the private key * does exist, but the calling process does not have permission to access it. * If your program is running under IIS (perhaps in a web service), you need * rights to the private key to perform a signature, and the IIS processes * typically runs in the default IIS Application Pool under the * NETWORK_SERVICE ID, which has no rights. * Grant the ID Full Control rights to the private key which is stored in * C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\Machine Keys. * (Perhaps lesser rights would work; you may experiment). ENDIF * Alternatively, load a Certificate from a .cer file. * (Certs may also be loaded from other types of files, such as PEM, DER, PFX, etc.) lnSuccess = loCert.LoadFromFile("myCert.cer") IF (lnSuccess = 0) THEN =MESSAGEBOX("Failed to load certificate!") ELSE lnHasPrivKey = loCert.HasPrivateKey() IF (lnHasPrivKey = 1) THEN ? "Certificate has a usable private key." ELSE ? "Certificate does not have a private key." ENDIF ENDIF |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.
Mail Component · .NET Email Component · ASP Mail Component · XML Parser