module
Version:
v0.0.0-...-f62e872
Opens a new window with list of versions in this module.
Published: Jan 1, 2020
License: MIT
Opens a new window with license information.
README
¶
gmsm
支持除标准椭圆曲线以外的国密sm2证书解析
安装
使用 go get
下载安装 SDK
$ go get -u github.com/mzmuer/gmsm
快速开始
package main
import (
"encoding/pem"
"fmt"
"strings"
"github.com/mzmuer/gmsm/x509"
)
var sm2Cert = `-----BEGIN CERTIFICATE-----
MIIBszCCAVegAwIBAgIIaeL+wBcKxnswDAYIKoEcz1UBg3UFADAuMQswCQYDVQQG
EwJDTjEOMAwGA1UECgwFTlJDQUMxDzANBgNVBAMMBlJPT1RDQTAeFw0xMjA3MTQw
MzExNTlaFw00MjA3MDcwMzExNTlaMC4xCzAJBgNVBAYTAkNOMQ4wDAYDVQQKDAVO
UkNBQzEPMA0GA1UEAwwGUk9PVENBMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE
MPCca6pmgcchsTf2UnBeL9rtp4nw+itk1Kzrmbnqo05lUwkwlWK+4OIrtFdAqnRT
V7Q9v1htkv42TsIutzd126NdMFswHwYDVR0jBBgwFoAUTDKxl9kzG8SmBcHG5Yti
W/CXdlgwDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFEwysZfZ
MxvEpgXBxuWLYlvwl3ZYMAwGCCqBHM9VAYN1BQADSAAwRQIgG1bSLeOXp3oB8H7b
53W+CKOPl2PknmWEq/lMhtn25HkCIQDaHDgWxWFtnCrBjH16/W3Ezn7/U/Vjo5xI
pDoiVhsLwg==
-----END CERTIFICATE-----`
func main(){
block, _ := pem.Decode([]byte(strings.TrimSpace(sm2Cert)))
if block == nil {
panic(fmt.Errorf("failed to parse certificate PEM"))
}
c, err := x509.ParseCertificate(block.Bytes)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(c)
}
}
Directories
¶
|
|
|
|
|
|
internal/crypto/cryptobyte
Package cryptobyte contains types that help with parsing and constructing length-prefixed, binary messages, including ASN.1 DER.
|
Package cryptobyte contains types that help with parsing and constructing length-prefixed, binary messages, including ASN.1 DER. |
|
Package asn1 contains supporting types for parsing and building ASN.1 messages with the cryptobyte package. |
Click to show internal directories.
Click to hide internal directories.