INNER CODE UNIT · Go

generateSubjectKeyID

hashicorp/terraform-provider-tls · internal/provider/common_cert.go:78

func generateSubjectKeyID(pubKey crypto.PublicKey) ([]byte, error) {
	var pubKeyBytes []byte
	var err error

	// Marshal public key to bytes or set an error
	switch pub := pubKey.(type) {
	case *rsa.PublicKey:
		if pub != nil {
			pubKeyBytes, err = asn1.Marshal(*pub)
		} else {
			err = fmt.Errorf("received 'nil' pointer instead of public key")
		}
	case *ecdsa.PublicKey:
		//nolint:staticcheck // Reference: https://github.com/hashicorp/terraform-provider-tls/issues/480
		pubKeyBytes = elliptic.Marshal(pub.Curve, pub.X, pub.Y)
	case ed25519.PublicKey:
		pubKeyBytes, err = asn1.Marshal(pub)
	case *ed25519.PublicKey:

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…