Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
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 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% set cert = Server.CreateObject("Chilkat_9_5_0.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: success = cert.LoadByCommonName("Chilkat Software, Inc.") If (success = 0) Then Response.Write "Failed to find certificate!" & "<br>" Else ' Display the certificate's distinguished name: Response.Write Server.HTMLEncode( cert.SubjectDN) & "<br>" hasPrivKey = cert.HasPrivateKey() If (hasPrivKey = 1) Then Response.Write Server.HTMLEncode( "Certificate has a usable private key.") & "<br>" Else Response.Write Server.HTMLEncode( "Certificate does not have a private key.") & "<br>" End If ' 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). End If ' 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) Then Response.Write "Failed to load certificate!" & "<br>" Else hasPrivKey = cert.HasPrivateKey() If (hasPrivKey = 1) Then Response.Write Server.HTMLEncode( "Certificate has a usable private key.") & "<br>" Else Response.Write Server.HTMLEncode( "Certificate does not have a private key.") & "<br>" End If End If %> </body> </html> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.