Я пробовал преобразовать ключ, закодированный в PEM, в формат DER, и оказалось, что пароль удаляется независимо от аргумента -passout.
Пример:
openssl rsa -in tmp.pem -outform DER -out tmp.der -passin pass:foo -passout pass:bar -des3
Полученный ключ больше не защищен паролем, поэтому я предполагаю, что формат DER не поддерживает пароль - это правильно?
Какой альтернативный способ сохранить это в компактной двоичной форме и сохранить защиту паролем?
Фактически -passout игнорируется. Последнее предложение справки по -des3 на странице руководства:
Эти параметры можно использовать только с файлами вывода в формате PEM.
Утилиты OpenSSL просто не работают с ключами в формате, отличном от PEM.
Что касается длины ключа, почему вас волнует, сделал ли base64 его на 1/3 длиннее? Для большинства файловых систем это будет меньше одного блока, поэтому фактического изменения объема используемого дискового пространства не произойдет.