crypto: document the extended key interfaces

Change-Id: Iaff3f77b0a168e8bde981c791035a6451b3a49ac
Reviewed-on: https://go-review.googlesource.com/c/go/+/353049
Trust: Filippo Valsorda <filippo@golang.org>
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Julie Qiu <julie@golang.org>
This commit is contained in:
Filippo Valsorda 2021-09-29 13:09:34 +02:00
parent 6b0026ae31
commit 7162c4c7ca
1 changed files with 20 additions and 0 deletions

View File

@ -150,9 +150,29 @@ func RegisterHash(h Hash, f func() hash.Hash) {
}
// PublicKey represents a public key using an unspecified algorithm.
//
// Although this type is an empty interface for backwards compatibility reasons,
// all public key types in the standard library implement the following interface
//
// interface{
// Equal(x crypto.PublicKey) bool
// }
//
// which can be used for increased type safety within applications.
type PublicKey interface{}
// PrivateKey represents a private key using an unspecified algorithm.
//
// Although this type is an empty interface for backwards compatibility reasons,
// all private key types in the standard library implement the following interface
//
// interface{
// Public() crypto.PublicKey
// Equal(x crypto.PrivateKey) bool
// }
//
// as well as purpose-specific interfaces such as Signer and Decrypter, which
// can be used for increased type safety within applications.
type PrivateKey interface{}
// Signer is an interface for an opaque private key that can be used for