1

さて、私のアプリは、クライアント証明書を使用してユーザーを認証するサードパーティの Web アプリと対話する必要があります。(Web ブラウザー コントロールでウィンドウを開き、サイトに移動するだけです)。

ベンダーから 6 つの .cer ファイルが送られてきました。1 つはルートになります。1 つ以上の中間証明書と 1 つ以上のクライアント証明書があると想定しています。どれがどれかわからない。

これらは自己発行の証明書になるため、発行者の証明書がデフォルトで信頼されるとは考えていません。信頼できる発行元にルートをインストールする必要があります。

したがって、これらの証明書をキー ストアにインストールする必要があることはわかっていますが、どの証明書をどのストアに入れるかはわかりません。それを理解するために私は何をする必要がありますか?

4

2 に答える 2

1

他のOSを実行している場合は、何らかのMS Windowsを使用していると仮定します:-)

正しい方法で進むには、次のようにする必要があります。

ルート証明書 --> 信頼されたルート証明機関

中間証明書 --> 中間認証局

クライアント証明書 --> 個人。

私の経験では、証明書を適切なストアに配置するためにWindowsインポートガイドを中継することはできません。証明書を配置するストアを指定する必要があります。

証明書をソートするには、証明書を「チェーンソート」にする必要があります。すべての証明書を見て、1 つ以上のチェーンでソートします。

ルート --> 中級者 --> 第 2 中級者 --> クライアント。|----> 別の中間 --> 別のクライアント

証明書を並べ替えるときは、証明書とそれに署名した証明書を確認します。ルートは自己署名されており、最初の中間証明書はルートによって署名されています。2 番目の中間証明書は、最初の中間証明書によって署名されます。

クライアント証明書は、秘密鍵を持つ唯一の証明書である必要があります。

于 2013-05-08T19:48:14.850 に答える
0

エクスプローラーを使用して証明書をダブルクリックするだけで、証明書を開くことができます。詳細を確認し、Windows にインストールします。彼らがどこに行くのかを確認してください。次に、それらをクリックして、その証明書から上の証明書チェーンを表示します。いつでも削除できます。不明な場合は、重要ではない個別のインストールを使用してください。証明書には、証明書の署名に使用される証明書/秘密鍵を指す発行者文字列も含まれていることに注意してください。

クライアント証明書の場合、証明書だけでなく秘密鍵も必要であることに注意してください。このようなペアを取得する通常の方法は、秘密鍵と公開鍵を含む証明書要求を作成することです。これを相手に送ります。相手方は、要求があなたからのものであることを確認する必要があります。次に、相手はあなたの秘密鍵に属する証明書を作成します。このペアを使用して、クライアント認証を実行できます。

証明書パスの検証を実行する別の方法は、openssl verifyコマンドを使用することです。多くの証明書はバイナリ/DER でエンコードされていることに注意してください。それらが PEM エンコードされている場合 (openssl のメイン形式)、テキストのように見えます。そうでない場合は、おそらく 16 進数で始まり30ます。つまり、DER でエンコードされていることを意味します。コマンドを使用する前に、これらの証明書を PEM 形式に変換する必要がありますopenssl verify。PEM ファイルを単純に連結して、一連の (CA) 証明書を作成できることに注意してください。

openssl x509 -inform der -in certificate.cer -out certificate.pem
openssl verify -CAfile ca-chain.pem certificate.pem
于 2013-05-08T22:27:04.550 に答える