type OpaqueSigner … type opaqueSigner … func newOpaqueSigner(alg SignatureAlgorithm, signer OpaqueSigner) (recipientSigInfo, error) { … } func (o *opaqueSigner) signPayload(payload []byte, alg SignatureAlgorithm) (Signature, error) { … } type OpaqueVerifier … type opaqueVerifier … func (o *opaqueVerifier) verifyPayload(payload []byte, signature []byte, alg SignatureAlgorithm) error { … } type OpaqueKeyEncrypter … type opaqueKeyEncrypter … func newOpaqueKeyEncrypter(alg KeyAlgorithm, encrypter OpaqueKeyEncrypter) (recipientKeyInfo, error) { … } func (oke *opaqueKeyEncrypter) encryptKey(cek []byte, alg KeyAlgorithm) (recipientInfo, error) { … } type OpaqueKeyDecrypter … type opaqueKeyDecrypter … func (okd *opaqueKeyDecrypter) decryptKey(headers rawHeader, recipient *recipientInfo, generator keyGenerator) ([]byte, error) { … }