Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Excel) Get Public Key from CSRDemonstrates how to get the public key from a CSR.
' This requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim pem As Chilkat.Pem Set pem = Chilkat.NewPem ' No password is required. Pass an empty password string.. noPassword = "" success = pem.LoadPemFile("qa_data/csr/csr2.pem",noPassword) If (success <> True) Then Debug.Print pem.LastErrorText Exit Sub End If strBase64 = pem.GetEncodedItem("csr","","base64",0) Dim asn As Chilkat.Asn Set asn = Chilkat.NewAsn success = asn.LoadEncoded(strBase64,"base64") If (success <> True) Then Debug.Print asn.LastErrorText Exit Sub End If ' Convert the ASN.1 to XML. Dim xml As Chilkat.Xml Set xml = Chilkat.NewXml success = xml.LoadXml(asn.AsnToXml()) Debug.Print xml.GetXml() Debug.Print "----" strModulusHex = xml.GetChildContent("bits") Debug.Print "strModulusHex = "; strModulusHex Debug.Print "----" ' We need the modulus as base64. Dim bd As Chilkat.BinData Set bd = Chilkat.NewBinData Dim success As Boolean success = bd.AppendEncoded(strModulusHex,"hex") modulus64 = bd.GetEncoded("base64") Debug.Print "modulus64 = "; modulus64 Debug.Print "----" ' Build the XML for the public key. Dim xmlPubKey As Chilkat.Xml Set xmlPubKey = Chilkat.NewXml xmlPubKey.Tag = "RSAPublicKey" xmlPubKey.UpdateChildContent "Modulus",modulus64 ' The RSA exponent will always be decimal 65537 (base64 = AQAB) xmlPubKey.UpdateChildContent "Exponent","AQAB" Debug.Print "RSA public key as XML:" Debug.Print xmlPubKey.GetXml() Debug.Print "----" ' Load the XML into a Chilkat public key object. Dim pubkey As Chilkat.PublicKey Set pubkey = Chilkat.NewPublicKey success = pubkey.LoadFromString(xmlPubKey.GetXml()) If (success <> True) Then Debug.Print pubkey.LastErrorText Exit Sub End If ' Show the public key as PEM. preferPkcs1 = True Debug.Print pubkey.GetPem(preferPkcs1) |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.