(k crypto.PublicKey)
| 86 | } |
| 87 | |
| 88 | func VerifierForPublicKey(k crypto.PublicKey) (Verifier, error) { |
| 89 | switch k := k.(type) { |
| 90 | case *ecdsa.PublicKey: |
| 91 | switch name := k.Params().Name; name { |
| 92 | case elliptic.P256().Params().Name: |
| 93 | return &ecdsaVerifier{k, crypto.SHA256}, nil |
| 94 | case elliptic.P384().Params().Name: |
| 95 | return &ecdsaVerifier{k, crypto.SHA384}, nil |
| 96 | default: |
| 97 | return nil, fmt.Errorf("signingalgorithm: unknown ECDSA curve: %s", name) |
| 98 | } |
| 99 | } |
| 100 | return nil, fmt.Errorf("signingalgorithm: unknown public key type: %T", k) |
| 101 | } |
no outgoing calls