4

自己署名証明書 (OpenSSL を使用して作成) を作成し、Windows Vista Ultimate の証明書MMC スナップイン (CertMgr.msc) を使用して証明書ストアにインストールしました。

CertOpenSystemStoreを使用して証明書ストアを開くことができました。そして、CertFindCertificateInStoreを使用して証明書を見つけることができます

ただし、MSDN ドキュメントで回答を見つけることができなかったため、このエラーが実際に何を意味するのかはわかりません。

  • これは証明書の問題ですか?
  • それとも OS の問題ですか (これが機能するには Windows Server OS である必要があるという意味で)?

私は Delphi 2010 で Win32 API を使用していますが、C の例は問題ありません。

4

1 に答える 1

7

MSDNのエラーの説明かなり曖昧です:

セキュリティ パッケージで使用できる資格情報はありません。

このエラーは、SSPI SChannel パッケージが証明書の秘密鍵を見つけられなかったか、証明書が SSL/TLS に対して有効でないことを意味します。証明書/秘密キーが、拡張 CSP ではなく、PROV_RSA_SCHANNEL 暗号化プロバイダー (CSP) に読み込まれていることを確認してください。

(はるかに) 詳細なエラー情報については、SChannel ログを有効にする必要があります。Schannel イベント ログを有効にする方法を参照してください(KB は IIS 用ですが、記載されている方法では、マシン上で Schannel ログをグローバルに有効にしました)。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL
EventLogging: DWORD = n

値は、次の組み合わせにすることができます。

  • 0: ログを記録しない (Windows NT 4 デフォルト)
  • 1: エラー メッセージをログに記録します (Windows 2000 および Windows XP のデフォルト)。
  • 2: ログ警告
  • 4: 情報イベントと成功イベントをログに記録します

SSL/TLS を使用してからしばらく経ちましたが、「John Banes」による投稿とエラーについて 1 つアドバイスをするとしたら、手がかりが見つかる可能性があります。

于 2009-11-13T05:39:05.650 に答える