Конвертировать ключи 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

0 ответов

Другие вопросы по тегам