Я получаю внешние .pem
файлы, которые необходимо преобразовать в файлы .p12
. Я добавляю имя пользователя и пароль в этот процесс. (Мне нужно сделать это, чтобы использовать сторонний API.)
Используя openssl
, команда...
openssl pkcs12 -export -in xxxx.pem -inkey xxxx.pem -out xxx.p12 -passout pas:newpassword -name "newname"
Я могу запустить это из сеанса терминала, и он отлично работает.
Однако мне нужно будет делать это часто и написали класс Java, который обрабатывает это и многое другое (мое приложение в основном .jsp
с Tomcat и Apache). Когда я пытаюсь запустить ту же команду из Java с помощью Runtime.exec
, я получаю страшное "неспособное записать ошибку" случайное состояние "(Использование OpenSSL, что "не удается записать" случайный состояние" означает?).
Я предполагаю, что разница в том, что при запуске с Java пользователь не является "root".
Итак, есть ли лучший способ конвертировать из pem в .p12 с использованием библиотеки Java, а не выполнять программу командной строки (то есть openssl)?
В противном случае, я думаю, мне нужно сделать некоторые настройки на моем сервере. Я не могу найти файл .md
в любом месте сервера. Единственный openssl.cnf
файл находится в странном каталоге (/etc/pki/tls
). Нужно ли мне создавать новый файл openssl.cnf
где-то еще?