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
use chilkat; $cert = new chilkat::CkCert(); # 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: $success = $cert->LoadByCommonName("Chilkat Software, Inc."); if ($success == 0) { print "Failed to find certificate!" . "\n"; } else { # Display the certificate's distinguished name: print $cert->subjectDN() . "\r\n"; $hasPrivKey = $cert->HasPrivateKey(); if ($hasPrivKey == 1) { print "Certificate has a usable private key." . "\r\n"; } else { print "Certificate does not have a private key." . "\r\n"; } # 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). } # Alternatively, load a Certificate from a .cer file. # (Certs may also be loaded from other types of files, such as PEM, DER, PFX, etc.) $success = $cert->LoadFromFile("myCert.cer"); if ($success == 0) { print "Failed to load certificate!" . "\n"; } else { $hasPrivKey = $cert->HasPrivateKey(); if ($hasPrivKey == 1) { print "Certificate has a usable private key." . "\r\n"; } else { print "Certificate does not have a private key." . "\r\n"; } } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.