事象
Ubuntu 22.04.1 LTSにWowzaをインストール後、Let's Encryptで証明書を生成し、キーストアに変換しようとすると以下のエラーが出た。
# openssl pkcs12 -export -in cert.pem -inkey privkey.pem -out output.p12
Enter Export Password:
Verifying - Enter Export Password:
# /usr/local/WowzaStreamingEngine/jre/bin/keytool -import -alias cacert -keystore output.p12 -file chain.pem
Enter keystore password:
keytool error: java.io.IOException: keystore password was incorrect
エラーメッセージの内容と"keytool"で検索しても原因になかなか辿り着けず、時間を要したので備忘録として残しておく。
解決方法
.p12ファイル生成時のopensslの引数に"-legacy"を付与すればよい。
対応前
openssl pkcs12 -export -in cert.pem -inkey privkey.pem -out output.p12
対応後
openssl -legacy pkcs12 -export -in cert.pem -inkey privkey.pem -out output.p12
バージョン
ディストリビューションや各種ライブラリのバージョンは以下の通り。
バージョン |
---|
Ubuntu 22.04.1 LTS |
OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022) |
Wowza 4.8.21+6 |
openjdk version "11.0.2" 2019-01-15 |
UbuntuとOpenSSLの関係
Ubuntu 20まではOpenSSL 1.1系だが、Ubuntu 22からOpenSSL 3.0系に変わっていた模様。
UbuntuとOpenSSLの関係 | |
---|---|
Ubuntu 20 | OpenSSL 1.1系 |
Ubuntu 22 | OpenSSL 3.0系 |
OpenJDK
今回はWowza同梱のOpenJDKを利用している。
# /usr/local/WowzaStreamingEngine/jre/bin/java -version
openjdk version "11.0.2" 2019-01-15