コード例 #1
0
func (cert *certificate) SetPrivateKey(privateKey interface{}) error {
	if nil == privateKey {
		certData := cert.scert.Certificate()
		certData.PrivateKey = nil
		cert.scert.SetCertificate(*certData)
		return nil
	} else if privKeyPem, err := utils.EncodePrivateKey(privateKey); nil != err {
		return err
	} else {
		certData := cert.scert.Certificate()
		certData.PrivateKey = privKeyPem
		cert.scert.SetCertificate(*certData)
		return nil
	}
}
コード例 #2
0
func (responding *challengeDVSNIResponding) makeCertificate() (string, error) {
	var out bytes.Buffer

	if privKey, err := utils.CreateRsaPrivateKey(2048); nil != err {
		return "", err
	} else if block_cert, err := utils.MakeCertificate(
		utils.CertificateParameters{
			SigningKey: privKey,
			DNSNames:   []string{responding.subjectAltName()},
		}); nil != err {
		return "", err
	} else if block_pkey, err := utils.EncodePrivateKey(privKey); nil != err {
		return "", err
	} else if err := pem.Encode(&out, block_cert); nil != err {
		return "", err
	} else if err := pem.Encode(&out, block_pkey); nil != err {
		return "", err
	} else {
		return out.String(), nil
	}
}