1

Windows証明書ストアから親証明書(またはチェーン内のすべての証明書)を取得したい(最終証明書の場所を知っていると仮定)。独自のカスタムを構築するには、それぞれを取得する必要がありますX509_STORE( OpenSSLを使用)。

適切な行動方針は次のようになると思います:

  1. CertFindCertificateInStore(done)を使用して最初の証明書を取得する
  2. CertGetCertificateChain(done)を使用して証明書チェーンを取得します
  3. チェーンから証明書を抽出する (?)
  4. チェーン内の証明書ごとに、d2i_X509(done)を使用して変換します

また

  1. CertFindCertificateInStore(done)を使用して最初の証明書を取得する
  2. 親証明書を取得する (存在する場合) (?)
  3. を使用して変換しd2i_X509、2 に進みます。 (完了)

次にストアを作成します。

答えるべき質問は、Windows 証明書ストアを使用してチェーン内の親証明書またはすべての証明書を取得する方法です。私はおそらく、多かれ少なかれオカルト機能を欠いています。

4

1 に答える 1

2

はチェーン コンテキストをCertFindCertificateInStore出力するため、美しい構造を使用してそのメンバーにアクセスできます。

chainContext->rgpChain[0]->rgpElement[iCertIndex]->pCertContext->pbCertEncoded

は(エンド証明書) と(自己署名ルート証明書) のiCertIndex間にあります。0chainSize -1

于 2016-01-28T10:46:14.407 に答える