package crypto
import "github.com/google/trillian/crypto"
Package crypto provides signing functionality for Trillian.
Index ¶
- func HashLogRoot(root trillian.SignedLogRoot) ([]byte, error)
- func SignatureAlgorithm(k gocrypto.PublicKey) sigpb.DigitallySigned_SignatureAlgorithm
- func Verify(pub crypto.PublicKey, data []byte, sig *sigpb.DigitallySigned) error
- func VerifyObject(pub crypto.PublicKey, obj interface{}, sig *sigpb.DigitallySigned) error
- type Signer
Functions ¶
func HashLogRoot ¶
func HashLogRoot(root trillian.SignedLogRoot) ([]byte, error)
HashLogRoot hashes SignedLogRoot objects using ObjectHash with "RootHash", "TimestampNanos", and "TreeSize", used as keys in a map.
func SignatureAlgorithm ¶
func SignatureAlgorithm(k gocrypto.PublicKey) sigpb.DigitallySigned_SignatureAlgorithm
SignatureAlgorithm returns the algorithm used for this public key. Only ECDSA and RSA keys are supported. Other key types will return sigpb.DigitallySigned_ANONYMOUS.
func Verify ¶
Verify cryptographically verifies the output of Signer.
func VerifyObject ¶
func VerifyObject(pub crypto.PublicKey, obj interface{}, sig *sigpb.DigitallySigned) error
VerifyObject verifies the output of Signer.SignObject.
Types ¶
type Signer ¶
Signer is responsible for signing log-related data and producing the appropriate application specific signature objects.
func NewSHA256Signer ¶
NewSHA256Signer creates a new SHA256 based Signer.
func (*Signer) Public ¶
Public returns the public key that can verify signatures produced by s.
func (*Signer) Sign ¶
func (s *Signer) Sign(data []byte) (*sigpb.DigitallySigned, error)
Sign obtains a signature after first hashing the input data.
func (*Signer) SignObject ¶
func (s *Signer) SignObject(obj interface{}) (*sigpb.DigitallySigned, error)
SignObject signs the requested object using ObjectHash.
Source Files ¶
data_formats.go signatures.go signer.go verifier.go
Directories ¶
Path | Synopsis |
---|---|
crypto/keys | Package keys provides access to public and private keys for signing and verification of signatures. |
crypto/keys/der | |
crypto/keys/der/proto | Package proto registers a DER keys.ProtoHandler using keys.RegisterHandler. |
crypto/keyspb | Package keyspb is a generated protocol buffer package. |
crypto/keys/pem | |
crypto/keys/pem/proto | Package proto registers a PEM keys.ProtoHandler using keys.RegisterHandler. |
crypto/keys/pkcs11 | Package pkcs11 provides access to private keys using a PKCS#11 interface. |
crypto/keys/pkcs11/proto | Package proto registers a PKCS#11 keys.ProtoHandler using keys.RegisterHandler. |
crypto/keys/testonly | Package testonly contains code and data that should only be used by tests. |
crypto/sigpb | Package sigpb is a generated protocol buffer package. |
- Version
- v1.0.4
- Published
- Dec 5, 2017
- Platform
- js/wasm
- Imports
- 14 packages
- Last checked
- 4 hours ago –
Tools for package owners.