Почему нам нужен пароль при преобразовании ключа pkcs8 из pem в der - PullRequest
0 голосов
/ 14 января 2019

Поскольку pem - это просто base64-кодировка der. Зачем нам нужен пароль при преобразовании из одной кодировки в другую? если я прочитаю сертификат с кодом в байтовом массиве в java (границы инкапсуляции удалены) и запишу этот байтовый массив в файл, не будет ли это файлом der? Я попробовал, и это не сработало.

Я использую ключи pkcs8, защищенные паролем, с aes256

1 Ответ

0 голосов
/ 14 января 2019

Ответ, почему преобразование не работает, возможно потому, что кодированный файл DER содержит как внутреннюю, так и внешнюю структуру PKCS # 8. Внутренняя структура определяет, какой ключ был обернут и сам обернутый ключ; это часть, которая шифруется.

Внешняя структура определяет протокол, используемый для получения ключа обертки, и алгоритм обтекания. Если у вас есть эта структура в формате PEM, вполне вероятно, что строки заголовка PEM определяют алгоритмы и что структура в кодировке base 64 содержит только зашифрованный текст над внутренней структурой PKCS # 8.

Тем не менее, можно оставить внутреннюю структуру без изменений, пока формат шифрования и соль не изменены. Если пароль запрашивается, это может быть по двум причинам:

  1. просто потому, что это проще, потому что функции для упаковки и разворачивания уже присутствуют в полном объеме;
  2. чтобы изменить соль или IV, чтобы идентичные завернутые ключи по-прежнему генерировали другой зашифрованный текст (невозможно увидеть, что один и тот же ключ был завернут).
...