Delphi DLL
Delphi DLL
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 Delphi DLL Downloads
var
success: Boolean;
pubKey: HCkPublicKey;
xml: PWideChar;
begin
success := False;
// Load a public key to export. LoadFromFile inspects the content, so it accepts DER, PEM, XML,
// JWK, and other supported representations.
pubKey := CkPublicKey_Create();
success := CkPublicKey_LoadFromFile(pubKey,'qa_data/public.pem');
if (success = False) then
begin
Memo1.Lines.Add(CkPublicKey__lastErrorText(pubKey));
Exit;
end;
// Export the public key in Chilkat XML format. The representation depends on the key type (for
// example an RSAPublicKey element for RSA).
xml := CkPublicKey__getXml(pubKey);
if (CkPublicKey_getLastMethodSuccess(pubKey) = False) then
begin
Memo1.Lines.Add(CkPublicKey__lastErrorText(pubKey));
Exit;
end;
Memo1.Lines.Add(xml);
CkPublicKey_Dispose(pubKey);