亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go:如何向 x509.Certificate 添加擴展名 (subjectAltName)?

Go:如何向 x509.Certificate 添加擴展名 (subjectAltName)?

Go
九州編程 2021-08-23 16:46:59
我正在創建一個 CA 證書。我想添加帶有一些值的 subjectAltName 擴展名,例如電子郵件或 crl 或公共證書位置等。package mainimport (    "crypto/rand"    "crypto/rsa"    "crypto/x509"    "crypto/x509/pkix"    "encoding/asn1"    "encoding/pem"    "fmt"    "math/big"    "os"    "time"    //"net"    //"strconv")func main() {    template := x509.Certificate{}    template.Subject = pkix.Name{        Organization:  []string{"domain.tld", "My Name"},        StreetAddress: []string{"Whatever. 123"},        PostalCode:    []string{"12345"},        Province:      []string{"Redneckville"},        Locality:      []string{"Woods"},        Country:       []string{"US"},        CommonName:    "CA domain my name",    }    template.NotBefore = time.Now()    template.NotAfter = template.NotBefore.Add(87658 * time.Hour)    template.KeyUsage = x509.KeyUsageCertSign | x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature | x509.KeyUsageCRLSign    template.ExtKeyUsage = []x509.ExtKeyUsage{x509.ExtKeyUsageClientAuth, x509.ExtKeyUsageServerAuth}    template.IsCA = true    template.BasicConstraintsValid = true    extSubjectAltName := pkix.Extension{}    extSubjectAltName.Id = asn1.ObjectIdentifier{2, 5, 29, 17}    extSubjectAltName.Critical = false    var e error    extSubjectAltName.Value, e = asn1.Marshal([]string{`email:[email protected]`, `URI:http://ca.domain.tld/`})    if e != nil {        fmt.Println(e.Error())        return    }當我這樣做時,結果是X509v3 extensions:    X509v3 Key Usage: critical        Digital Signature, Key Encipherment, Certificate Sign, CRL Sign    X509v3 Extended Key Usage:         TLS Web Client Authentication, TLS Web Server Authentication    X509v3 Basic Constraints: critical        CA:TRUE所以,但我希望像    X509v3 Subject Alternative Name:         email:[email protected], URI:http://www.disig.sk/ca如何使用這些值添加擴展名?我也試過 Value: []byte(``email:[email protected], URI:http://some.tld/uri``)< double "`" 因為格式化
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 424 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號