2011-07-06 107 views
4

在證書中,什麼是KSP & CSP,它們有什麼區別? 在C#中,如何確定證書是否使用CSP或KSP。證書 - 什麼是KSP和CSP

+0

在什麼情況下你看到'KSP' ? –

+1

基本上,CSP = Legacy = CryptoAPI和KSP = CNG = CryptoNextGen。某些應用程序(特別是.NET 3.5及更早版本)不支持KSP/CNG,因此您需要使用傳統模板生成的證書,該模板使用CSP提供程序來存儲密鑰。 – Nic

回答

2

CSP是Cryptographic service provider

KSP是Key storage provider。有關使用System.Security.Cryptography命名空間的示例,請參閱MSDN

+0

您能否解釋KSP如何在證書中使用?你有任何C#的例子? – Suresh

+0

好的,我發現這篇文章可以幫助我理解這一點 - http://blogs.msdn.com/b/alejacma/archive/2009/12/22/invalid-provider-type-specified-error-when-accessing-x509certificate2 -privatekey.aspx – Suresh

1

使用certutil命令。

例如,在Windows Server 2012 R2上的mmc中生成證書請求(自定義請求)時,將在「私鑰」選項卡,加密服務提供程序箭頭下顯示選項列表。

對於Legacy(CSP),所有提供者都以Cryptographic Provider結尾。 對於CNG(KSP),所有供應商都以密鑰存儲提供程序結束。

例(運行CMD.EXE作爲管理員)

的certutil 如果需要 認準線路提供商輸入密碼「的證書,包括後綴名」 =