2016-02-09 41 views
2

我明白the difference between self-signed and CA-signed certificates,但我需要知道是否有方法在將它們包含在IIS的綁定包中時區分它們。以編程方式區分自簽名和CA簽名證書-IIS綁定

方案

我有兩個HTTPS綁定設置爲我的網站,一個具有CA-signed cert, X和一個與self-signed cert, Y

在代碼中,我可以訪問綁定,這是IIS使用的ConcurrentBag<Microsoft.Web.Administration.Binding>。我想要知道哪些證書是自簽名的,哪些是使用對象的某些屬性進行CA簽名的。

這可能嗎?

+3

使用'CertificateHash'和'CertificateStore'屬性每個(適用)'綁定'到[找到相應的證書](https://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2collection.find(v = vs.110 ).aspx),並比較證書的x509擴展中的主題和權限密鑰標識符 –

+1

如果配置正確(如添加到受信任的權威商店),則自簽名並不容易,就像商業版一樣。但是如果你保留一個白名單的發行人,那麼在代碼中你可以很容易地區分。 –

回答

1

感謝@Mathias從註釋:

使用CertificateHashCertificateStore的性質各(適用)綁定到找到相應的證書和比較主題權威密鑰標識符在x509擴展中的證書

+0

您應該接受此答案並關閉討論。 –