最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在不同網(wǎng)絡(luò)上創(chuàng)建和使用基于 DNS 的自簽名證書(shū)

如何在不同網(wǎng)絡(luò)上創(chuàng)建和使用基于 DNS 的自簽名證書(shū)

C#
慕田峪9158850 2023-09-16 17:17:13
我有以下代碼來(lái)創(chuàng)建自簽名證書(shū):SubjectAlternativeNameBuilder subjectAlternativeNameBuilder = new SubjectAlternativeNameBuilder(); subjectAlternativeNameBuilder.AddDnsName("TestSRV01); X500DistinguishedName x500DistinguishedName = new X500DistinguishedName($"CN=Self-Signed-Test"); using (RSA rsa = RSA.Create(2048)) {     var certificateRequest = new CertificateRequest(x500DistinguishedName, rsa, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);     certificateRequest.CertificateExtensions.Add(new X509KeyUsageExtension(X509KeyUsageFlags.DataEncipherment | X509KeyUsageFlags.KeyEncipherment | X509KeyUsageFlags.DigitalSignature, false));             certificateRequest.CertificateExtensions.Add(new X509EnhancedKeyUsageExtension(new OidCollection { new Oid("2.5.29.32.0"), new Oid("1.3.6.1.5.5.7.3.1") }, false));     certificateRequest.CertificateExtensions.Add(subjectAlternativeNameBuilder.Build());     var certificate = certificateRequest.CreateSelfSigned(new DateTimeOffset(DateTime.UtcNow.AddDays(-1)), new DateTimeOffset(DateTime.UtcNow.AddDays(3650)));     return new X509Certificate2(certificate.Export( X509ContentType.Cert, pw), pw, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.Exportable); }我只添加服務(wù)器的 DNS 名稱,以避免綁定到當(dāng)前 IP 地址(測(cè)試機(jī)器在不同網(wǎng)絡(luò)中移動(dòng))。事實(shí)證明,當(dāng)我從客戶端連接時(shí),我需要使用 IP 地址(測(cè)試站點(diǎn)上的 DNS 解析不可靠)。不幸的是,SSL 連接失敗并顯示以下消息:(主機(jī)名 192.168.0.*** 未驗(yàn)證:證書(shū):sha256/UuUOTTQTCb2wu************************ DN:CN=我無(wú)法將證書(shū)綁定到該地址,但也無(wú)法使用域名作為連接參數(shù)。我可以圍繞這個(gè)問(wèn)題創(chuàng)建一個(gè)可用的證書(shū)嗎?或者我應(yīng)該在計(jì)算機(jī)啟動(dòng)時(shí)修改證書(shū)值并將當(dāng)前 IP 地址添加到列表中SubjectAlternativeName?
查看完整描述

1 回答

?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊

根據(jù)評(píng)論,處理這種情況的最佳方法似乎是在客戶端中提供自定義證書(shū)驗(yàn)證,同時(shí)牢記 Patrick Mevzek 評(píng)論中的警告。

自定義證書(shū)驗(yàn)證涉及您編寫(xiě)自己的代碼來(lái)驗(yàn)證證書(shū)中的某些方面。該類(lèi)HttpClientHandler提供了一個(gè)?ServerCertificateCustomValidationCallback屬性,您可以使用自己的回調(diào)來(lái)設(shè)置該屬性。

.NET 首先評(píng)估證書(shū),然后將驗(yàn)證結(jié)果作為枚舉與SslPolicyErrors證書(shū)一起傳遞給您的回調(diào)。您有多種選項(xiàng)可用于糾正驗(yàn)證錯(cuò)誤。例如在回調(diào)中,您可以檢查提示中的主題替代名稱并確保它是“TestSRV01”。

方法GetNameInfoX509Certificate2用于僅檢索主題備用名稱列表中的第一個(gè) DNS 名稱,因此,如果您要檢查的主機(jī)名不是第一個(gè),那么您將不得不與 .NET 進(jìn)行斗爭(zhēng)才能獲取您想要的信息。需要。


查看完整回答
反對(duì) 回復(fù) 2023-09-16
  • 1 回答
  • 0 關(guān)注
  • 140 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)