第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

由于 x509 證書(shū)依賴于舊版“公用名”字段,因此無(wú)法連接到具有 Golang 的服務(wù)器

由于 x509 證書(shū)依賴于舊版“公用名”字段,因此無(wú)法連接到具有 Golang 的服務(wù)器

泛舟湖上清波郎朗 2022-09-12 16:29:41
我正在嘗試在mongodb服務(wù)器上進(jìn)行連接,要進(jìn)行連接,我必須提供CA證書(shū)文件以及tls證書(shū)文件。當(dāng)我使用以下命令時(shí),我沒(méi)有問(wèn)題$ mongo --host customhost:port DB --authenticationDatabase=DB -u ACCOUNT -p PWD --tls --tlsCAFile /etc/ca-files/new-mongo.ca.crt --tlsCertificateKeyFile /etc/ca-files/new-mongo-client.pem 但是當(dāng)我嘗試使用mongo連接(并且僅使用tls客戶端進(jìn)行測(cè)試)時(shí),我遇到了以下錯(cuò)誤:failed to connect: x509: certificate relies on legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0如果我使用env變量,一切都很好,但我想知道如何修復(fù)它而不必使用它。const CONFIG_DB_CA = "/etc/ca-files/new-mongo.ca.crt"func main() {    cer, err := tls.LoadX509KeyPair("mongo-server.crt", "mongo-server.key")    if err != nil {        log.Println(err)        return    }    roots := x509.NewCertPool()    ca, err := ioutil.ReadFile(CONFIG_DB_CA)    if err != nil {        fmt.Printf("Failed to read or open CA File: %s.\n", CONFIG_DB_CA)        return    }    roots.AppendCertsFromPEM(ca)    tlsConfig := &tls.Config{        Certificates: []tls.Certificate{cer},        RootCAs:      roots,    }    conn, err := tls.Dial("tcp", "customhost:port", tlsConfig)    if err != nil {        fmt.Printf("failed to connect: %v.\n", err)        return    }    err = conn.VerifyHostname("customhost")    if err != nil {        panic("Hostname doesn't match with certificate: " + err.Error())    }    for i, cert := range conn.ConnectionState().PeerCertificates {        prefix := fmt.Sprintf("CERT%d::", i+1)        fmt.Printf("%sIssuer: %s\n", prefix, cert.Issuer)        fmt.Printf("%sExpiry: %v\n", prefix, cert.NotAfter.Format(time.RFC850))        fmt.Printf("%sDNSNames: %v\n\n", prefix, cert.DNSNames)    }        fmt.Printf("Success!")}我有點(diǎn)卡住了,不知道問(wèn)題是我的tls代碼配置和我加載證書(shū)的方式,還是來(lái)自SSL證書(shū)配置錯(cuò)誤,但來(lái)自什么證書(shū)看起來(lái)很好。我覺(jué)得加載的證書(shū)因任何原因都被忽略了
查看完整描述

1 回答

?
慕容3067478

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

您需要在源頭解決問(wèn)題并生成帶有字段的證書(shū) - 然后運(yùn)行時(shí)檢查將消失。DNSSANGo


這是可以實(shí)現(xiàn)的,但很棘手,因?yàn)樗枰粋€(gè)配置文件 - 因?yàn)镾AN字段選項(xiàng)太寬泛,不適合簡(jiǎn)單的命令行選項(xiàng)。openssl


一般的要點(diǎn)是,創(chuàng)建一個(gè)企業(yè)社會(huì)責(zé)任:


openssl req -new \

    -subj "${SUBJ_PREFIX}/CN=${DNS}/emailAddress=${EMAIL}" \

            -key "${KEY}" \

    -addext "subjectAltName = DNS:${DNS}" \

    -out "${CSR}"

,然后用您的 :CSRroot CA


openssl ca \

        -create_serial \

                -cert "${ROOT_CRT}" \

        -keyfile "${ROOT_KEY}" \

                -days "${CERT_LIFETIME}" \

                -in "${CSR}" \

        -batch \

        -config "${CA_CONF}" \

                -out "${CRT}"

CA_CONF上面引用的內(nèi)容如下所示:


[ ca ]

default_ca      = my_ca


[ my_ca ]

dir             = ./db

database            = $dir/index.txt

serial              = $dir/serial

new_certs_dir   = $dir/tmp

x509_extensions = my_cert

name_opt            = ca_default

cert_opt            = ca_default

default_md          = default

policy              = policy_match

# 'copy_extensions' will copy over SAN ("X509v3 Subject Alternative Name") from CSR

copy_extensions = copy


[ my_cert ]

basicConstraints        = CA:FALSE

nsComment               = "generated by https://github.com/me/my-pki"

subjectKeyIdentifier    = hash

authorityKeyIdentifier  = keyid,issuer


[ policy_match ]

# ensure CSR fields match that of delivered Cert

countryName             = match

stateOrProvinceName     = match

organizationName        = match

organizationalUnitName  = optional

commonName              = supplied

emailAddress            = optional

正在檢查生成的服務(wù)器證書(shū):


openssl x509 -in server.crt -noout -text

然后應(yīng)該有一個(gè)部分,如:SAN


X509v3 Subject Alternative Name: 

    DNS:myserver.com


查看完整回答
反對(duì) 回復(fù) 2022-09-12
  • 1 回答
  • 0 關(guān)注
  • 491 瀏覽
慕課專欄
更多

添加回答

舉報(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)