プロジェクトを Delphi 5 から XE4 に変換します。Delphi 5 で LockBox 2 を使用しました。今度は LockBox 3 を使用したいのですが、いくつかの RSA キー (LockBox 2 で生成されたもの) を持っています。このキーを LockBox 3 にロードできません。LockBox 2 に関する情報を探しました。LockBox 2 では、キーの保存に ASN.1 形式が使用されていることがわかりました。本当ですか?LockBox 3 を使用する形式が見つかりません。秘密鍵と公開鍵を ASN.1 から LockBox 3 を使用する形式に変換する方法はありますか?
Delphi 5 (LockBox 2) での使用:
PrivateRSAKey: TLbRSAKey;
MemStream: TMemoryStream;
...
PrivateRSAKey.LoadFromStream(MemStream);
...
Result := RSAEncryptString(CryptedText, PrivateRSAKey, false); //works fine
XE4 (LockBox 3) での使用:
Codec: TCodec;
Key: TSymetricKey;
MemStream: TMemoryStream; //contains same data as MemStream in Delphi 5
...
Key := Codec.Asymetric_Engine.CreateFromStream(MemStream, [partPrivate]);
Codec.InitFromKey(Key);
...
Codec.DecryptStream(DecryptStream, CryptStream); //CryptedStream contains same data as CryptedText in Delphi 5
//Now DecryptStream contains different data as Result in Delphi 5