mirror of
https://github.com/nais/wonderwall.git
synced 2026-05-12 03:16:37 +00:00
28 lines
444 B
Go
28 lines
444 B
Go
package crypto
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"crypto/rsa"
|
|
|
|
"github.com/lestrrat-go/jwx/v2/jwa"
|
|
"github.com/lestrrat-go/jwx/v2/jwk"
|
|
)
|
|
|
|
func NewJwk() (jwk.Key, error) {
|
|
privateKey, err := rsa.GenerateKey(rand.Reader, 2048)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
key, err := jwk.FromRaw(privateKey)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
key.Set(jwk.AlgorithmKey, jwa.RS256)
|
|
key.Set(jwk.KeyTypeKey, jwa.RSA)
|
|
jwk.AssignKeyID(key)
|
|
|
|
return key, nil
|
|
}
|