Конвертировать ключи RSA из LockBox 2 в LockBox 3
Я конвертирую наш проект из Delphi 5 в XE4. Я использовал LockBox 2 в Delphi 5. Теперь я хочу использовать 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