PureBasic
PureBasic
Export Digital Certificate's Public Key
See more Certificates Examples
The ExportPublicKey method can be called to get a certificate's public key. It can then be saved to any of a number of formats: (1) OpenSSL DER, (2) OpenSSL PEM, (3) RSA DER, (4) XML.Chilkat PureBasic Downloads
IncludeFile "CkPublicKey.pb"
IncludeFile "CkCert.pb"
Procedure ChilkatExample()
success.i = 0
cert.i = CkCert::ckCreate()
If cert.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; LoadFromFile will load virtually any certificate format file.
; It will auto-recognize the format and load appropiately.
success = CkCert::ckLoadFromFile(cert,"/Users/chilkat/testData/cer/chilkat.cer")
If success = 0
Debug CkCert::ckLastErrorText(cert)
CkCert::ckDispose(cert)
ProcedureReturn
EndIf
; Get the public key:
pubkey.i = CkPublicKey::ckCreate()
If pubkey.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkCert::ckGetPublicKey(cert,pubkey)
; Save to various formats:
success = CkPublicKey::ckSaveDerFile(pubkey,0,"/Users/chilkat/testData/pubkeys/chilkat_pkcs8.der")
If success <> 1
Debug CkPublicKey::ckLastErrorText(pubkey)
CkCert::ckDispose(cert)
CkPublicKey::ckDispose(pubkey)
ProcedureReturn
EndIf
success = CkPublicKey::ckSavePemFile(pubkey,0,"/Users/chilkat/testData/pubkeys/chilkat.pem")
If success <> 1
Debug CkPublicKey::ckLastErrorText(pubkey)
CkCert::ckDispose(cert)
CkPublicKey::ckDispose(pubkey)
ProcedureReturn
EndIf
success = CkPublicKey::ckSaveDerFile(pubkey,1,"/Users/chilkat/testData/pubkeys/chilkat_pkcs1.der")
If success <> 1
Debug CkPublicKey::ckLastErrorText(pubkey)
CkCert::ckDispose(cert)
CkPublicKey::ckDispose(pubkey)
ProcedureReturn
EndIf
success = CkPublicKey::ckSaveXmlFile(pubkey,"/Users/chilkat/testData/pubkeys/chilkat.xml")
If success <> 1
Debug CkPublicKey::ckLastErrorText(pubkey)
CkCert::ckDispose(cert)
CkPublicKey::ckDispose(pubkey)
ProcedureReturn
EndIf
Debug "Public key exported to all file formats."
CkCert::ckDispose(cert)
CkPublicKey::ckDispose(pubkey)
ProcedureReturn
EndProcedure