検索のトン後、私は、Javaコードでコマンドを以下の同等のものを作る方法を見つけることができませんでした:p12ファイルからCA証明書をプログラムで取得し、証明書リストを注文しますか?
openssl pkcs12 -cacerts -in /path/to/file.p12 -noout
このP12または opensslのPKCS12 -clcerts -in /パスから/への唯一のCA証明書を取得します/file.p12 -noout 証明書を取得する
javaでは、これらの証明書はすべてPKCS12キーストアに格納されますが、CA証明書と簡単な証明書は区別できません。どうやってするか ?
私の証明書とそれに署名したN CA証明書を持っています。 CA 2は証明書に署名し、CA 3はCA 2証明書に署名しました... CA NはCA N- 1つの証明書)
2)と同じ方法で、もう一つの問題: (約1を得るために、x509証明書のリストを注文する方法は、あります... CA N)は、私が使用:
CertificateFactory certFact = CertificateFactory.getInstance("X.509");
CertPath path = certFact.generateCertPath(myCertifList);
しかし、リストは私が望んでいたものとは逆の順序になっている必要があります。
3)フルチェーン証明書の注文は保証されていますか? Let's Encryptを使って戦略を変更し、実際の証明書の注文に頼ることができない方法でチェーンとフルチェーンを構築する方法を変更するとどうなりますか? ありがとうございました!
ルートCA証明書は自己署名されています。カスタム自己署名証明書との主な違いは、それらがJavaの信頼できる証明書ストアにリストされていることです。参照[この質問](http:// stackoverflow。com/questions/3508050/how-can-i-get-a-list-of-trusted-root-certificates-in-java)を使用してください。 – Robert