INNER CODE UNIT · Go
privateKeyToAlgorithm
hashicorp/terraform-provider-tls · internal/provider/common_key.go:147
func privateKeyToAlgorithm(prvKey crypto.PrivateKey) (Algorithm, error) {
switch prvKey.(type) {
case rsa.PrivateKey, *rsa.PrivateKey:
return RSA, nil
case ecdsa.PrivateKey, *ecdsa.PrivateKey:
return ECDSA, nil
case ed25519.PrivateKey, *ed25519.PrivateKey:
return ED25519, nil
default:
return "", fmt.Errorf("unsupported private key type: %T", prvKey)
}
}
// setPublicKeyAttributes takes a crypto.PrivateKey, extracts the corresponding crypto.PublicKey and then
// encodes related attributes on the given *tfsdk.State.
func setPublicKeyAttributes(ctx context.Context, s *tfsdk.State, prvKey crypto.PrivateKey) diag.Diagnostics {
var diags diag.Diagnostics