У меня есть файл ключа PEM, защищенный парольной фразой, сгенерированный OpenSSL
openssl genrsa -aes128 -passout stdin -out testfile.pem
Я также сгенерировал файл открытого ключа, используя OpenSSL
openssl rsa -in testfile.pem -out testfile_pub.pub
(propts for password)
Я хотел бы иметь возможность использовать этот закрытый ключ для подписания своих претензий и т. д., а затем отправлять запросы.Я пытаюсь понять (или, скорее, подтвердить свое понимание) следующее:
1) Мой закрытый ключ защищен паролем. Значит ли это, что никто не может сгенерировать открытый ключ, не разблокировав его сначала?то есть, где защита?
2) Если бы я читал этот зашифрованный файл PEM с закрытым ключом на Java, мне пришлось бы сделать что-то похожее на:
\\ 1. Read file as string
\\ 2. Replace all boring bits e.g. begin/end/rsa/private/public/key/enc/--
\\ 3. decode using Base64
\\ 4. read as PKCS8 keyspec and generate PrivateKey object
но разве это не значит, что никто на самом деле не мешает мне читать спецификации ключей?Я думаю, что я пытаюсь сравнить с тем, как мы генерируем JKS
ключей с дополнительным keypass / storepass.Но, может быть, я не должен сравнивать это.
Может ли кто-нибудь помочь мне понять?
Спасибо,