Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Export Certificate and Private Key to PFXDemonstrates how to export a digital certificate, it's private key, and potentially all certificates in the chain of authentication to a PFX file.
Dim success As Boolean ' This object is used to create a certificate store object. Dim ccs As New Chilkat.CreateCS() Dim certStore As Chilkat.CertStore ' Open the local machine certificate store read-only. ccs.ReadOnly = true certStore = ccs.OpenLocalSystemStore() ' Can we find a certificate by email address? Dim cert As Chilkat.Cert cert = certStore.FindCertBySubjectE("admin@chilkatsoft.com") If (cert Is Nothing ) Then ' Open the current-user certificate store and check it instead. TextBox1.Text = TextBox1.Text & "Checking current-user certificate store..." & vbCrLf TextBox1.Refresh() certStore = ccs.OpenCurrentUserStore() cert = certStore.FindCertBySubjectE("admin@chilkatsoft.com") If (cert Is Nothing ) Then TextBox1.Text = TextBox1.Text & "Failed to find certificate!" & vbCrLf TextBox1.Refresh() Exit Sub End If End If ' Does this certificate have a private key accessible ' to the calling process? Private keys are *not* stored ' within the certificate store. Private keys are stored ' in a key container in a Windows protected store. It ' can be one of two protected stores: the protected store for ' the current logged-in user account, or the "machine-key" ' protected store. The private key must both exist in a ' protected store, and the process must have permission to ' access it... ' You can only export to a PFX if the private key exists ' and is accessible. If (cert.HasPrivateKey() = true) Then ' Export to a PFX. ' Provide a password that will be required whenever the PFX is opened. ' Also, include all certs in the chain of authentication. Dim bIncludeChain As Boolean bIncludeChain = true success = cert.ExportToPfxFile("myCert.pfx","myPassword",bIncludeChain) If (success <> true) Then TextBox1.Text = TextBox1.Text & cert.LastErrorText & vbCrLf TextBox1.Refresh() Else TextBox1.Text = TextBox1.Text & "Exported to PFX!" & vbCrLf TextBox1.Refresh() End If Else TextBox1.Text = TextBox1.Text & "Certificate does not have a private key available" & vbCrLf TextBox1.Refresh() End If ' The Chilkat Certificate, Certificate Store, Private Key, ' Public Key, and Key Container classes / objects are freeware. ' They are used by and included with the Chilkat Email, ' Crypt, S/MIME, and other commercial Chilkat components. |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.