Xojo Plugin
Xojo Plugin
Get Public Key from CSR
See more CSR Examples
Demonstrates how to get the public key from a CSR.Chilkat Xojo Plugin Downloads
Dim success As Boolean
success = False
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Dim pem As New Chilkat.Pem
// No password is required. Pass an empty password string..
Dim noPassword As String
noPassword = ""
success = pem.LoadPemFile("qa_data/csr/csr2.pem",noPassword)
If (success <> True) Then
System.DebugLog(pem.LastErrorText)
Return
End If
Dim strBase64 As String
strBase64 = pem.GetEncodedItem("csr","","base64",0)
Dim asn As New Chilkat.Asn
success = asn.LoadEncoded(strBase64,"base64")
If (success <> True) Then
System.DebugLog(asn.LastErrorText)
Return
End If
// Convert the ASN.1 to XML.
Dim xml As New Chilkat.Xml
success = xml.LoadXml(asn.AsnToXml())
System.DebugLog(xml.GetXml())
System.DebugLog("----")
Dim strModulusHex As String
strModulusHex = xml.GetChildContent("bits")
System.DebugLog("strModulusHex = " + strModulusHex)
System.DebugLog("----")
// We need the modulus as base64.
Dim bd As New Chilkat.BinData
success = bd.AppendEncoded(strModulusHex,"hex")
Dim modulus64 As String
modulus64 = bd.GetEncoded("base64")
System.DebugLog("modulus64 = " + modulus64)
System.DebugLog("----")
// Build the XML for the public key.
Dim xmlPubKey As New Chilkat.Xml
xmlPubKey.Tag = "RSAPublicKey"
xmlPubKey.UpdateChildContent "Modulus",modulus64
// The RSA exponent will always be decimal 65537 (base64 = AQAB)
xmlPubKey.UpdateChildContent "Exponent","AQAB"
System.DebugLog("RSA public key as XML:")
System.DebugLog(xmlPubKey.GetXml())
System.DebugLog("----")
// Load the XML into a Chilkat public key object.
Dim pubkey As New Chilkat.PublicKey
success = pubkey.LoadFromString(xmlPubKey.GetXml())
If (success <> True) Then
System.DebugLog(pubkey.LastErrorText)
Return
End If
// Show the public key as PEM.
Dim preferPkcs1 As Boolean
preferPkcs1 = True
System.DebugLog(pubkey.GetPem(preferPkcs1))