VBScript
VBScript
Get Public Key from CSR
See more CSR Examples
Demonstrates how to get the public key from a CSR.Chilkat VBScript Downloads
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)
success = 0
' This requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
set pem = CreateObject("Chilkat.Pem")
' No password is required. Pass an empty password string..
noPassword = ""
success = pem.LoadPemFile("qa_data/csr/csr2.pem",noPassword)
If (success <> 1) Then
outFile.WriteLine(pem.LastErrorText)
WScript.Quit
End If
strBase64 = pem.GetEncodedItem("csr","","base64",0)
set asn = CreateObject("Chilkat.Asn")
success = asn.LoadEncoded(strBase64,"base64")
If (success <> 1) Then
outFile.WriteLine(asn.LastErrorText)
WScript.Quit
End If
' Convert the ASN.1 to XML.
set xml = CreateObject("Chilkat.Xml")
success = xml.LoadXml(asn.AsnToXml())
outFile.WriteLine(xml.GetXml())
outFile.WriteLine("----")
strModulusHex = xml.GetChildContent("bits")
outFile.WriteLine("strModulusHex = " & strModulusHex)
outFile.WriteLine("----")
' We need the modulus as base64.
set bd = CreateObject("Chilkat.BinData")
success = bd.AppendEncoded(strModulusHex,"hex")
modulus64 = bd.GetEncoded("base64")
outFile.WriteLine("modulus64 = " & modulus64)
outFile.WriteLine("----")
' Build the XML for the public key.
set xmlPubKey = CreateObject("Chilkat.Xml")
xmlPubKey.Tag = "RSAPublicKey"
xmlPubKey.UpdateChildContent "Modulus",modulus64
' The RSA exponent will always be decimal 65537 (base64 = AQAB)
xmlPubKey.UpdateChildContent "Exponent","AQAB"
outFile.WriteLine("RSA public key as XML:")
outFile.WriteLine(xmlPubKey.GetXml())
outFile.WriteLine("----")
' Load the XML into a Chilkat public key object.
set pubkey = CreateObject("Chilkat.PublicKey")
success = pubkey.LoadFromString(xmlPubKey.GetXml())
If (success <> 1) Then
outFile.WriteLine(pubkey.LastErrorText)
WScript.Quit
End If
' Show the public key as PEM.
preferPkcs1 = 1
outFile.WriteLine(pubkey.GetPem(preferPkcs1))
outFile.Close