独自の CA を使用して自己署名証明書を作成しようとしています。現在、すべての証明書とキーは PEM 形式です。Android フォンから証明書を受け入れるにはCA.crt
、バイナリ DER 形式のファイルを作成する必要があります。
openssl を使用してこのファイルを作成しました
openssl x509 -in CA-cert.pem -inform PEM -outform DER > CA.crt
しかし、CA.crt
Android にインストールした後、Web サイトの証明書 ( www.example.com-cert.pem
) で署名された Web サイトの証明書CA-cert.pem
が、Chrome for Android で無効として表示されます。証明書は(少なくとも私が理解している限り)正しく作成されており、元に戻すときに違いはありません。
diff -u CA-cert.pem <(openssl x509 -in CA.crt -inform DER -outform PEM)
ここで何が欠けていますか?Web サイトの証明書 (例: ) の別のバージョンをwww.example.com.crt
DER 形式で作成する必要がありますか?
編集:これが最初に機能するかどうかはわかりませんが、証明書を検証しようとするとCA.crt
エラーが発生して失敗します:
$ openssl verify -CAfile CA.crt www.example.com-cert.pem
Error loading file CA.crt
同じことが PEM バージョンでもうまく機能します。
$ openssl verify -CAfile CA-cert.pem www.example.com-cert.pem
www.example.com-cert.pem: OK