Может ли C # OpenSSL Wrapper прочитать файл PKCS12 и извлечь записи SecretKey - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть файл .p12, сгенерированный Java keytool, и мне нужно прочитать из него все записи секретного ключа (AES 256), чтобы я мог использовать его для шифрования данных в моем приложении C #.

Я посмотрел на Bouncy Castle, и кажется, что он работает только с асимметричными ключами и сертификатами X509.

Может ли оболочка C # OpenSSL сделать это?

1 Ответ

0 голосов
/ 07 ноября 2018

.p12 содержит сертификат X509 вкл. (необязательно) закрытый асимметричный ключ. Насколько я знаю, в нем нет Symmectric (AES) Key, а есть только асимметричные ключи.

Если вы хотите использовать его для S / MIME, он использует случайные симметричные kes (AES, 3DES, ...) и шифрует этот ключ с помощью асимметричного ключа пользователя (-ей), которому вы отправляете письмо Конечно, свой.
Посмотрите на MimeKit и / или MailKit для S / MIME.

Если вы просто хотите зашифровать некоторые вещи:
Просто сгенерируйте случайный ключ AES (всего несколько случайных байтов) и поместите все свои вещи в какой-то контейнер, который включает в себя асимметрично зашифрованный ключ AES. Вы можете использовать ApplicationPKCS из MimeKit (имитирующий S / MIME) или сделать что-то самостоятельно. Просто убедитесь, чтобы идентифицировать сертификат, который вы используете для шифрования симметричного ключа.

...