[英]How can I create a test signing certificate?
我正在嘗試按照這些說明使用WIF創建SAML2令牌。
說明說
要向SecurityTokenDescriptor提供簽名憑據,您必須首先獲得對簽名證書的引用,作為X509Certificate2實例。 從中您可以創建SecurityKeyIdentifier並生成SigningCredentials實例
提供以下代碼:
X509Certificate2 signingCert = CertificateUtil.GetCertificate(StoreName.My, StoreLocation.LocalMachine, "CN=busta-rpsts.com ");
SecurityKeyIdentifier ski = new SecurityKeyIdentifier(new SecurityKeyIdentifierClause[] { new X509SecurityToken(signingCert).CreateKeyIdentifierClause<X509SubjectKeyIdentifierClause>() });
X509SigningCredentials signingCreds = new X509SigningCredentials(signingCert, ski);
descriptor.SigningCredentials = signingCreds;
我嘗試使用包含主題密鑰標識符的makecert制作測試證書,但是當我運行通過上面代碼生成的任何證書時,我得到以下System.NotSupportedException :
'X509SecurityToken'不支持'X509SubjectKeyIdentifierClause'創建。
調用此行時會發生這種情況:
new X509SecurityToken(signingCert).CreateKeyIdentifierClause<X509SubjectKeyIdentifierClause>()
現在我知道說明說......
注意:使用makecert.exe創建的證書不包含主題密鑰標識符,因此不能以此方式使用。 您應該使用Windows Server生成證書或從Verisign或同等提供商處購買證書。
...但是我使用了-eku 2.5.29.14的論據,我希望能解決這個問題,我認為這個圖像表明我做得對嗎?
任何人都可以給我說明我如何創建一個測試證書,我可以使用它來使這段代碼正常工作,或指出我正確的方向? 我也不確定他們的意思是“你應該用Windows Server生成證書”。 這是否意味着創建CSR?
提前致謝 :)
恕我直言,最好是模擬真實場景,以便創建一個CA,它將發出用於生成SAML令牌的證書。 您將了解有關PKI和證書的更多信息,解決開發時間中的問題,而不是生產時間。 但從技術上講,不需要這樣做。
那么需要做些什么:
X509Certificate2 signingCert = CertificateUtil.GetCertificate(StoreName.My, StoreLocation.LocalMachine, "CN=busta-rpsts.com ");
可能會工作...... 如果沒有,您將不得不修改私鑰權限(再次mmc),以便您的帳戶可以使用本地計算機個人存儲中的私鑰。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.