Let clients list and revoke certs
This commit is contained in:
@@ -66,11 +66,10 @@ func (cs *CertService) NewClient(id string) ([]byte, []byte, error) {
|
||||
Country: []string{"No"},
|
||||
Locality: []string{"Oslo"},
|
||||
},
|
||||
NotBefore: time.Now(),
|
||||
NotAfter: time.Now().AddDate(10, 0, 0),
|
||||
SubjectKeyId: []byte{1, 2, 3, 4, 6},
|
||||
ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageClientAuth, x509.ExtKeyUsageServerAuth},
|
||||
KeyUsage: x509.KeyUsageDigitalSignature,
|
||||
NotBefore: time.Now(),
|
||||
NotAfter: time.Now().AddDate(0, 0, 30),
|
||||
ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageClientAuth, x509.ExtKeyUsageServerAuth},
|
||||
KeyUsage: x509.KeyUsageDigitalSignature,
|
||||
}
|
||||
|
||||
certPrivKey, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
|
||||
@@ -102,6 +101,15 @@ func (cs *CertService) NewClient(id string) ([]byte, []byte, error) {
|
||||
return nil, nil, fmt.Errorf("unable to encode client private key: %w", err)
|
||||
}
|
||||
|
||||
signed, err := x509.ParseCertificate(certBytes)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
if err := cs.store.StoreCertificate(signed); err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
return certPEM.Bytes(), keyPEM.Bytes(), nil
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user