in internal/mock/certs.go [107:135]
func mustBuildRootCertificate(subject pkix.Name, k *rsa.PrivateKey) *x509.Certificate {
sn, err := rand.Int(rand.Reader, big.NewInt(1000))
if err != nil {
panic(err)
}
cert := &x509.Certificate{
SerialNumber: sn,
SubjectKeyId: generateSKI(&k.PublicKey),
Subject: subject,
NotBefore: time.Now(),
NotAfter: time.Now().AddDate(1, 0, 0),
IsCA: true,
ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageClientAuth, x509.ExtKeyUsageServerAuth},
KeyUsage: x509.KeyUsageDigitalSignature | x509.KeyUsageCertSign,
BasicConstraintsValid: true,
}
certDerBytes, err := x509.CreateCertificate(rand.Reader, cert, cert, &k.PublicKey, k)
if err != nil {
panic(err)
}
c, err := x509.ParseCertificate(certDerBytes)
if err != nil {
panic(err)
}
return c
}