Documentation ¶
Index ¶
- Variables
- type JSONSignature
- func (js *JSONSignature) JWS() ([]byte, error)
- func (js *JSONSignature) Payload() ([]byte, error)
- func (js *JSONSignature) PrettySignature(signatureKey string) ([]byte, error)
- func (js *JSONSignature) Sign(key PrivateKey) error
- func (js *JSONSignature) SignWithChain(key PrivateKey, chain []*x509.Certificate) error
- func (js *JSONSignature) Verify() ([]libtrust.PublicKey, error)
- func (js *JSONSignature) VerifyChains(ca *x509.CertPool) ([][]*x509.Certificate, error)
Constants ¶
This section is empty.
Variables ¶
var ( // ErrInvalidSignContent is used when the content to be signed is invalid. ErrInvalidSignContent = errors.New("invalid sign content") // ErrInvalidJSONContent is used when invalid json is encountered. ErrInvalidJSONContent = errors.New("invalid json content") // ErrMissingSignatureKey is used when the specified signature key // does not exist in the JSON content. ErrMissingSignatureKey = errors.New("missing signature key") )
Functions ¶
This section is empty.
Types ¶
type JSONSignature ¶
type JSONSignature struct {
// contains filtered or unexported fields
}
JSONSignature represents a signature of a json object.
func NewJSONSignature ¶
func NewJSONSignature(content []byte) (*JSONSignature, error)
NewJSONSignature returns a new unsigned JWS from a json byte array. JSONSignature will need to be signed before serializing or storing.
func NewJSONSignatureFromMap ¶
func NewJSONSignatureFromMap(content interface{}) (*JSONSignature, error)
NewJSONSignatureFromMap returns a new unsigned JSONSignature from a map or struct. JWS will need to be signed before serializing or storing.
func ParseJWS ¶
func ParseJWS(content []byte) (*JSONSignature, error)
ParseJWS parses a JWS serialized JSON object into a Json Signature.
func ParsePrettySignature ¶
func ParsePrettySignature(content []byte, signatureKey string) (*JSONSignature, error)
ParsePrettySignature parses a formatted signature into a JSON signature. If the signatures are missing the format information an error is thrown. The formatted signature must be created by the same method as format signature.
func (*JSONSignature) JWS ¶
func (js *JSONSignature) JWS() ([]byte, error)
JWS returns JSON serialized JWS according to http://tools.ietf.org/html/draft-ietf-jose-json-web-signature-31#section-7.2
func (*JSONSignature) Payload ¶
func (js *JSONSignature) Payload() ([]byte, error)
Payload returns the encoded payload of the signature. This payload should not be signed directly
func (*JSONSignature) PrettySignature ¶
func (js *JSONSignature) PrettySignature(signatureKey string) ([]byte, error)
PrettySignature formats a json signature into an easy to read single json serialized object.
func (*JSONSignature) Sign ¶
func (js *JSONSignature) Sign(key PrivateKey) error
Sign adds a signature using the given private key.
func (*JSONSignature) SignWithChain ¶
func (js *JSONSignature) SignWithChain(key PrivateKey, chain []*x509.Certificate) error
SignWithChain adds a signature using the given private key and setting the x509 chain. The public key of the first element in the chain must be the public key corresponding with the sign key.
func (*JSONSignature) Verify ¶
func (js *JSONSignature) Verify() ([]libtrust.PublicKey, error)
Verify verifies all the signatures and returns the list of public keys used to sign. Any x509 chains are not checked.
func (*JSONSignature) VerifyChains ¶
func (js *JSONSignature) VerifyChains(ca *x509.CertPool) ([][]*x509.Certificate, error)
VerifyChains verifies all the signatures and the chains associated with each signature and returns the list of verified chains. Signatures without an x509 chain are not checked.