@@ -54,18 +54,30 @@ func GenerateSigningKey(alg jose.SignatureAlgorithm, bits int) (crypto.PublicKey
54
54
switch alg {
55
55
case jose .ES256 :
56
56
key , err := ecdsa .GenerateKey (elliptic .P256 (), rand .Reader )
57
+ if err != nil {
58
+ return nil , nil , err
59
+ }
57
60
return key .Public (), key , err
58
61
case jose .ES384 :
59
62
key , err := ecdsa .GenerateKey (elliptic .P384 (), rand .Reader )
63
+ if err != nil {
64
+ return nil , nil , err
65
+ }
60
66
return key .Public (), key , err
61
67
case jose .ES512 :
62
68
key , err := ecdsa .GenerateKey (elliptic .P521 (), rand .Reader )
69
+ if err != nil {
70
+ return nil , nil , err
71
+ }
63
72
return key .Public (), key , err
64
73
case jose .EdDSA :
65
74
pub , key , err := ed25519 .GenerateKey (rand .Reader )
66
75
return pub , key , err
67
76
case jose .RS256 , jose .RS384 , jose .RS512 , jose .PS256 , jose .PS384 , jose .PS512 :
68
77
key , err := rsa .GenerateKey (rand .Reader , bits )
78
+ if err != nil {
79
+ return nil , nil , err
80
+ }
69
81
return key .Public (), key , err
70
82
default :
71
83
return nil , nil , fmt .Errorf ("unknown algorithm %s for signing key" , alg )
@@ -83,6 +95,9 @@ func GenerateEncryptionKey(alg jose.KeyAlgorithm, bits int) (crypto.PublicKey, c
83
95
return nil , nil , errors .New ("invalid key size for RSA key, 2048 or more is required" )
84
96
}
85
97
key , err := rsa .GenerateKey (rand .Reader , bits )
98
+ if err != nil {
99
+ return nil , nil , err
100
+ }
86
101
return key .Public (), key , err
87
102
case jose .ECDH_ES , jose .ECDH_ES_A128KW , jose .ECDH_ES_A192KW , jose .ECDH_ES_A256KW :
88
103
var crv elliptic.Curve
@@ -97,6 +112,9 @@ func GenerateEncryptionKey(alg jose.KeyAlgorithm, bits int) (crypto.PublicKey, c
97
112
return nil , nil , errors .New ("invalid elliptic curve key size, use one of 256, 384, or 521" )
98
113
}
99
114
key , err := ecdsa .GenerateKey (crv , rand .Reader )
115
+ if err != nil {
116
+ return nil , nil , err
117
+ }
100
118
return key .Public (), key , err
101
119
default :
102
120
return nil , nil , fmt .Errorf ("unknown algorithm %s for encryption key" , alg )
0 commit comments