У меня есть набор ключей RSA, которые используются для тестирования. Я работаю над улучшением PKCS # 12. Все существующие ключи RSA имеют пароль, скажем, «mypass». Я хочу сгенерировать три типа ключей PKCS # 12:
- Нет пароля в конверте PKCS # 12 (который, если вы прочитаете , это действительно будет пустой строкой) и без пароля на ключе RSA внутри
- Пароль на конверте PKCS # 12 и без пароля на ключе RSA внутри
- Пароль на конверте PKCS # 12 и на ключе RSA внутри
У меня проблемы с первой категорией опций
Здесь я копирую исходный ключ в формате PEM в свою рабочую область и создаю расшифрованную версию с префиксом d
. $tkey
- это ключ ввода в формате PEM.
echo RSA keys PEM formatted
key=${name}.priv.rsa.pem
dkey=d${name}.priv.rsa.pem
pubkey=${name}.pub.rsa.pem
cp $tkey ./${key}
openssl rsa -in $key -passin pass:mypass -out $dkey -outform pem -passout pass:
Я думаю, что на расшифрованном ключе нет пароля, потому что openssl не запрашивает пароль, когда я использую его для подписи некоторых data.
Я делаю следующее, чтобы сгенерировать свои ключи PKCS # 12 (где $tcert
- это путь для ввода сертификата ключа).
tcert=`dirname $tkey`/${name}.crt
key=${name}.priv.p12
echo PKCS#12 envelope without password and unencrypted RSA key
openssl pkcs12 -export -inkey $dkey -in $tcert -out d$key -name d$name -passout pass:
echo PKCS#12 envelope with password and unencrypted RSA key
openssl pkcs12 -export -inkey $dkey -in $tcert -out x$key -name $name -passout pass:mypass
echo PKCS#12 envelope with password and password protected RSA key
openssl pkcs12 -export -inkey $tkey -in $tcert -out $key -name $name -passout pass:mypass -passin pass:mypass
Затем я проверяю каждый ключ, выполняя следующие (добавляя mypass по мере необходимости). Когда я go отображаю ключ d
, он запрашивает у меня пароль для ключа RSA. Если я ввожу «mypass», он сбрасывает ключ.
openssl pkcs12 -info -in $dkey -passin pass:
Поскольку приведенное выше является сценарием, я заставил сценарий повторить строки, чтобы я мог быть уверен, что он использует правильные файлы и тому подобное.
Я явно что-то не так делаю, но не вижу.