Discuss this help topic in SecureBlackbox Forum
XML: Use OpenPGP keys for signing
To sign the data with OpenPGP keys, you need to employ TElXMLKeyInfoPGPData class. All you need to do is
C#:
Signer.SignatureMethodType = TElXMLSigMethodType.xmtSig;
Signer.SignatureMethod = TElXMLSignatureMethod.xsmRSA_SHA256;
TElXMLKeyInfoPGPData PGPKeyData = new TElXMLKeyInfoPGPData(true);
PGPKeyData.SecretKey = new TElPGPSecretKey();
TElPGPSecretKey(PGPKeyData.SecretKey).LoadFromFile("secret.key");
PGPKeyData.SecretKey.Passphrase = "password";
Signer.KeyData = PGPKeyData;
Delphi:
Signer.SignatureMethodType := xmtSig;
Signer.SignatureMethod := xsmRSA_SHA256; // using RSA with SHA 256-bit
...
PGPKeyData := TElXMLKeyInfoPGPData.Create(True);
PGPKeyData.SecretKey := TElPGPSecretKey.Create;
TElPGPSecretKey(PGPKeyData.SecretKey).LoadFromFile('secret.key');
PGPKeyData.SecretKey.Passphrase := 'password';
Signer.KeyData := PGPKeyData;
...
// when signing is finished we need to clear KeyData object
PGPKeyData.Free();