Documentation ¶
Overview ¶
Package client is a cross-platform client for the signer binary (a.k.a."EnterpriseCertSigner").
The signer binary is OS-specific, but exposes a standard set of APIs for the client to use.
Index ¶
- Variables
- type Connection
- type DecryptArgs
- type EncryptArgs
- type Key
- func (k *Key) CertificateChain() [][]byte
- func (k *Key) Close() error
- func (k *Key) Decrypt(_ io.Reader, msg []byte, opts crypto.DecrypterOpts) (plaintext []byte, err error)
- func (k *Key) Encrypt(_ io.Reader, msg []byte, opts any) (ciphertext []byte, err error)
- func (k *Key) Public() crypto.PublicKey
- func (k *Key) Sign(_ io.Reader, digest []byte, opts crypto.SignerOpts) (signed []byte, err error)
- type SignArgs
Constants ¶
This section is empty.
Variables ¶
ErrCredUnavailable is a sentinel error that indicates ECP Cred is unavailable, possibly due to missing config or missing binary path.
Functions ¶
This section is empty.
Types ¶
type Connection ¶
type Connection struct { io.ReadCloser io.WriteCloser }
A Connection wraps a pair of unidirectional streams as an io.ReadWriteCloser.
func (*Connection) Close ¶
func (c *Connection) Close() error
Close closes c's underlying ReadCloser and WriteCloser.
type DecryptArgs ¶ added in v0.3.0
type DecryptArgs struct { Ciphertext []byte // The ciphertext to decrypt. Opts crypto.DecrypterOpts // Options for decryption. Ex: an instance of *rsa.OAEPOptions. }
DecryptArgs contains arguments to for a Decrypt API call.
type EncryptArgs ¶ added in v0.3.0
type EncryptArgs struct { Plaintext []byte // The plaintext to encrypt. Opts any // Options for encryption. Ex: an instance of crypto.Hash. }
EncryptArgs contains arguments for an Encrypt API call.
type Key ¶
type Key struct {
// contains filtered or unexported fields
}
Key implements credential.Credential by holding the executed signer subprocess.
func Cred ¶
Cred spawns a signer subprocess that listens on stdin/stdout to perform certificate related operations, including signing messages with the private key.
The signer binary path is read from the specified configFilePath, if provided. Otherwise, use the default config file path.
The config file also specifies which certificate the signer should use.
func (*Key) CertificateChain ¶
CertificateChain returns the credential as a raw X509 cert chain. This contains the public key.
func (*Key) Close ¶
Close closes the RPC connection and kills the signer subprocess. Call this to free up resources when the Key object is no longer needed.
func (*Key) Decrypt ¶ added in v0.3.0
func (k *Key) Decrypt(_ io.Reader, msg []byte, opts crypto.DecrypterOpts) (plaintext []byte, err error)
Decrypt decrypts a ciphertext msg into plaintext, using the specified decrypter opts. Implements crypto.Decrypter interface.
func (*Key) Encrypt ¶ added in v0.3.0
Encrypt encrypts a plaintext msg into ciphertext, using the specified encrypt opts.
type SignArgs ¶
type SignArgs struct { Digest []byte // The content to sign. Opts crypto.SignerOpts // Options for signing. Must implement HashFunc(). }
SignArgs contains arguments for a Sign API call.