创建私有CA并轻松颁发证书

Certify 可用于创建私有 CA(证书颁发机构)并颁发由预先创建的 CA 签署的证书。颁发的证书将有效1年。

此外,还可以为创建的证书设置使用者备选名称(IP SAN和DNS SAN)和通用名称。

$ certify -init
⚡️ Initialize new CA Certificate and Key
 
$ certify server.local 172.17.0.1
⚡️ Generate certificate with alt name server.local and 172.17.0.1
 
$ certify cn:web-server
⚡️ Generate certificate with common name web-server
 
还可以当做Golang库使用:
$ go get github.com/nothinux/certify
 
例子:
 
package main

import (
	"crypto/x509/pkix"
	"log"
	"os"
	"time"

	"github.com/nothinux/certify"
)

func main() {
	p, err := certify.GetPrivateKey()
	if err != nil {
		log.Fatal(err)
	}

	if err := os.WriteFile("CA-key.pem", []byte(p.String()), 0640); err != nil {
		log.Fatal(err)
	}

	// create ca
	template := certify.Certificate{
		Subject: pkix.Name{
			Organization: []string{"certify"},
		},
		NotBefore: time.Now(),
		NotAfter:  time.Now().Add(8766 * time.Hour),
		IsCA:      true,
	}

	caCert, err := template.GetCertificate(p.PrivateKey)
	if err != nil {
		log.Fatal(err)
	}

	if err := os.WriteFile("CA-cert.pem", []byte(caCert.String()), 0640); err != nil {
		log.Fatal(err)
	}

}
 
 
 
 

转载请注明,谢谢