我明白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簽名的。
這可能嗎?
使用'CertificateHash'和'CertificateStore'屬性每個(適用)'綁定'到[找到相應的證書](https://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2collection.find(v = vs.110 ).aspx),並比較證書的x509擴展中的主題和權限密鑰標識符 –
如果配置正確(如添加到受信任的權威商店),則自簽名並不容易,就像商業版一樣。但是如果你保留一個白名單的發行人,那麼在代碼中你可以很容易地區分。 –