Delphi ActiveX
Delphi ActiveX
Load RSA Public Key from Hex Modulus and Exponent
See more RSA Examples
Load an RSA public key from a hex modulus and exponent.Chilkat Delphi ActiveX Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
modulus: WideString;
exponent: WideString;
bdModulus: TChilkatBinData;
bdExponent: TChilkatBinData;
xml: TChilkatXml;
pubkey: TPublicKey;
begin
success := 0;
// Load a 128-byte (1024-bit) modulus + exponent into a Chilkat public key object..
modulus := 'BF5F4AF9A018B5F324A0C10448C0D3248D9BE78967FDC551A27876AC5789ADCBA8245D3D942AE3799563D895DA801E765D225A54FA15DAB2C4731DD817DCF94A9AD62197074C2349442093A206234BF3747F0E88AA6F538355684CC1FB26FCE029C9050A1DAF9F507C2BABF6EFC9FB16320C8036721BE0279FBB76122C41E429';
exponent := '00000003';
// We'll need to re-encode from hex to base64..
bdModulus := TChilkatBinData.Create(Self);
bdModulus.AppendEncoded(modulus,'hex');
bdExponent := TChilkatBinData.Create(Self);
bdExponent.AppendEncoded(exponent,'hex');
xml := TChilkatXml.Create(Self);
xml.Tag := 'RsaKeyValue';
xml.NewChild2('Modulus',bdModulus.GetEncoded('base64'));
xml.NewChild2('Exponent',bdExponent.GetEncoded('base64'));
// Now load into the pubkey object..
pubkey := TPublicKey.Create(Self);
success := pubkey.LoadFromString(xml.GetXml());
if (success = 0) then
begin
Memo1.Lines.Add(pubkey.LastErrorText);
Exit;
end;
Memo1.Lines.Add('Success.');
end;