Added support for RSASSA-PSS and RSAES-OAEP.

This commit is contained in:
InfiniteLoopSpace
2018-12-21 14:43:59 +01:00
parent 5f34d82562
commit 3f58f9a4b2
10 changed files with 510 additions and 181 deletions

View File

@ -22,6 +22,7 @@ type configuration struct {
subject *pkix.Name
issuer *Identity
nextSN *int64
signatureAlgrotim x509.SignatureAlgorithm
priv *crypto.Signer
isCA bool
notBefore *time.Time
@ -33,6 +34,7 @@ type configuration struct {
func (c *configuration) generate() *Identity {
templ := &x509.Certificate{
Subject: c.getSubject(),
SignatureAlgorithm: c.signatureAlgrotim,
IsCA: c.isCA,
BasicConstraintsValid: true,
NotAfter: c.getNotAfter(),
@ -195,6 +197,13 @@ func PrivateKey(value crypto.Signer) Option {
}
}
// SignatureAlgorithm is an Option for setting the signature algorithm.
func SignatureAlgorithm(value x509.SignatureAlgorithm) Option {
return func(c *configuration) {
c.signatureAlgrotim = value
}
}
// Issuer is an Option for setting the identity's issuer.
func Issuer(value *Identity) Option {
return func(c *configuration) {