暗号化サービス プロバイダー (CSP) は、Windows ベースのアプリケーションが Microsoft 暗号化アプリケーション プログラミング インターフェイス (CryptoAPI) を通じてアクセスする、認証、エンコード、および暗号化の各サービスを実行するプログラムです。それぞれの CSP は、CryptoAPI のさまざまな実装を提供します。たとえば、強力な暗号化アルゴリズムが含まれているものもあれば、スマート カードなどのハードウェア コンポーネントを使用するものもあります。
新しい証明書の要求を生成すると、まず、その要求に含まれている情報が、要求元プログラムから CryptoAPI に送られます。CryptoAPI は、コンピューターまたはコンピューターからアクセスできるデバイスにインストールされている CSP に適切なデータを提供します。CSP がソフトウェア ベースの場合は、公開キーと秘密キーがコンピューター上に生成されます。一般に、これらのキーはキーの組と呼ばれます。CSP がスマート カード CSP などのハードウェア ベースの場合、CSP は、ハードウェアにキーの組を生成するように指示します。
キーが生成されると、ソフトウェア ベースの CSP は秘密キーを暗号化し、セキュリティで保護します。スマート カード CSP は、スマート カードに秘密キーを保存します。スマート カードは、キーへのアクセスを制御します。
公開キーは、証明書の要求者の情報と共に、証明機関 (CA) に送られます。CA は、ポリシーに従って証明書の要求を確認した後、自分自身の秘密キーを使って、証明書内でデジタル署名を作成し、証明書を要求者に発行します。CA は、コンピューターまたはハードウェア デバイスの上の適切な証明書ストアに証明書をインストールするオプションと共に、証明書の要求者に証明書を提示します。
詳細については、「証明書を要求する」および「別の署名の形式の使用のガイドライン」を参照してください。