PureBasic
PureBasic
Export a Public Key as XML
Demonstrates the Chilkat PublicKey.GetXml method, which returns the public key in Chilkat XML format. It takes no arguments; the exact representation (for example an RSAPublicKey element) depends on the key type.
Note: The file paths are relative to the application's current working directory. Absolute paths may also be used. Supply the paths appropriate to your own environment.
Background: The XML key format comes from the .NET/XML-DSIG world; exporting to it lets you hand a public key to .NET code or a system built around XML signatures. It is the inverse of
LoadXml-style loading. Because a public key is not secret, this XML can be shared freely.Chilkat PureBasic Downloads
IncludeFile "CkPublicKey.pb"
Procedure ChilkatExample()
success.i = 0
; Load a public key to export. LoadFromFile inspects the content, so it accepts DER, PEM, XML,
; JWK, and other supported representations.
pubKey.i = CkPublicKey::ckCreate()
If pubKey.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkPublicKey::ckLoadFromFile(pubKey,"qa_data/public.pem")
If success = 0
Debug CkPublicKey::ckLastErrorText(pubKey)
CkPublicKey::ckDispose(pubKey)
ProcedureReturn
EndIf
; Export the public key in Chilkat XML format. The representation depends on the key type (for
; example an RSAPublicKey element for RSA).
xml.s = CkPublicKey::ckGetXml(pubKey)
If CkPublicKey::ckLastMethodSuccess(pubKey) = 0
Debug CkPublicKey::ckLastErrorText(pubKey)
CkPublicKey::ckDispose(pubKey)
ProcedureReturn
EndIf
Debug xml
CkPublicKey::ckDispose(pubKey)
ProcedureReturn
EndProcedure