GenerateKey generates a new private key according to kg.KeyType.
()
| 337 | |
| 338 | // GenerateKey generates a new private key according to kg.KeyType. |
| 339 | func (kg StandardKeyGenerator) GenerateKey() (crypto.PrivateKey, error) { |
| 340 | switch kg.KeyType { |
| 341 | case ED25519: |
| 342 | _, priv, err := ed25519.GenerateKey(rand.Reader) |
| 343 | return priv, err |
| 344 | case "", P256: |
| 345 | return ecdsa.GenerateKey(elliptic.P256(), rand.Reader) |
| 346 | case P384: |
| 347 | return ecdsa.GenerateKey(elliptic.P384(), rand.Reader) |
| 348 | case RSA2048: |
| 349 | return rsa.GenerateKey(rand.Reader, 2048) |
| 350 | case RSA4096: |
| 351 | return rsa.GenerateKey(rand.Reader, 4096) |
| 352 | case RSA8192: |
| 353 | return rsa.GenerateKey(rand.Reader, 8192) |
| 354 | } |
| 355 | return nil, fmt.Errorf("unrecognized or unsupported key type: %s", kg.KeyType) |
| 356 | } |
| 357 | |
| 358 | // DefaultKeyGenerator is the default key source. |
| 359 | var DefaultKeyGenerator = StandardKeyGenerator{KeyType: P256} |
nothing calls this directly
no test coverage detected