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

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

在 golang 中創(chuàng)建與本地主機(jī)的 openssl 相同的密鑰和證書(shū)

在 golang 中創(chuàng)建與本地主機(jī)的 openssl 相同的密鑰和證書(shū)

Go
繁星淼淼 2022-10-17 17:02:11
如何在 Go 中編寫(xiě)與以下 openssl 命令等效的代碼?openssl req -subj /C=/ST=/O=/L=/CN=localhost/OU=/ -x509 -nodes -days 3650  \             -newkey rsa:4096 -keyout test.key -out test.crt目標(biāo)是根據(jù)其證書(shū)請(qǐng)求生成新證書(shū)。
查看完整描述

2 回答

?
海綿寶寶撒

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

通過(guò)這種方式找到了我的解決方案-


key, err := rsa.GenerateKey(rand.Reader, 4096)

    if err != nil {

        return "", "", err

    }

    keyBytes := x509.MarshalPKCS1PrivateKey(key)

    // PEM encoding of private key

    keyPEM := pem.EncodeToMemory(

        &pem.Block{

            Type:  "RSA PRIVATE KEY",

            Bytes: keyBytes,

        },

    )

    fmt.Println(string(keyPEM))

    

    notBefore := time.Now()

    notAfter := notBefore.Add(365*24*10*time.Hour)


    //Create certificate templet

    template := x509.Certificate{

        SerialNumber:          big.NewInt(0),

        Subject:               pkix.Name{CommonName: "localhost"},

        SignatureAlgorithm:    x509.SHA256WithRSA,

        NotBefore:             notBefore,

        NotAfter:              notAfter,

        BasicConstraintsValid: true,

        KeyUsage:              x509.KeyUsageDigitalSignature | x509.KeyUsageKeyAgreement | x509.KeyUsageKeyEncipherment | x509.KeyUsageDataEncipherment,

        ExtKeyUsage:           []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth, x509.ExtKeyUsageClientAuth},

    }

    //Create certificate using templet

    derBytes, err := x509.CreateCertificate(rand.Reader, &template, &template, &key.PublicKey, key)

    if err != nil {

        return "", "", err


    }

    //pem encoding of certificate

    certPem := string(pem.EncodeToMemory(

        &pem.Block{

            Type:  "CERTIFICATE",

            Bytes: derBytes,

        },

    ))

    fmt.Println(certPem))


查看完整回答
反對(duì) 回復(fù) 2022-10-17
?
慕萊塢森

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

您可能會(huì)考慮cloudflare/cfssl,其中包括一個(gè)cfssl.initca包,如下所示

  var req *csr.CertificateRequest

    hostname := "cloudflare.com"

    crl := "http://crl.cloudflare.com/655c6a9b-01c6-4eea-bf21-be690cc315e0.crl" //cert_uuid.crl

    for _, param := range validKeyParams {

        for _, caconfig := range validCAConfigs {

            req = &csr.CertificateRequest{

                Names: []csr.Name{

                    {

                        C:  "US",

                        ST: "California",

                        L:  "San Francisco",

                        O:  "CloudFlare",

                        OU: "Systems Engineering",

                    },

                },

                CN:         hostname,

                Hosts:      []string{hostname, "www." + hostname},

                KeyRequest: &param,

                CA:         &caconfig,

                CRL:        crl,

            }

            certBytes, _, keyBytes, err := New(req)

            if err != nil {

                t.Fatal("InitCA failed:", err)

            }


查看完整回答
反對(duì) 回復(fù) 2022-10-17
  • 2 回答
  • 0 關(guān)注
  • 157 瀏覽
慕課專(zhuān)欄
更多

添加回答

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