Update dependencies
This commit is contained in:
71
vendor/github.com/tailscale/certstore/certstore.go
generated
vendored
Normal file
71
vendor/github.com/tailscale/certstore/certstore.go
generated
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
package certstore
|
||||
|
||||
import (
|
||||
"crypto"
|
||||
"crypto/x509"
|
||||
"errors"
|
||||
)
|
||||
|
||||
var (
|
||||
// ErrUnsupportedHash is returned by Signer.Sign() when the provided hash
|
||||
// algorithm isn't supported.
|
||||
ErrUnsupportedHash = errors.New("unsupported hash algorithm")
|
||||
)
|
||||
|
||||
// StoreLocation defines the store location to look certificates in.
|
||||
type StoreLocation int
|
||||
|
||||
const (
|
||||
// User is the user scoped certificate store. "CURRENT_USER" on Windows or
|
||||
// "login" on MacOS
|
||||
User StoreLocation = iota
|
||||
// System is the system scoped certificate store. "LOCAL_MACHINE" on Windows
|
||||
// or "System" on MacOS
|
||||
System
|
||||
)
|
||||
|
||||
// StorePermission defines the store permission to open the store with
|
||||
type StorePermission int
|
||||
|
||||
const (
|
||||
// ReadOnly is the store permission allows reading and using certificates
|
||||
ReadOnly StorePermission = iota
|
||||
// ReadWrite is the store permission that allows importing certificates
|
||||
ReadWrite
|
||||
)
|
||||
|
||||
// Open opens the system's certificate store.
|
||||
func Open(location StoreLocation, permissions ...StorePermission) (Store, error) {
|
||||
return openStore(location, permissions...)
|
||||
}
|
||||
|
||||
// Store represents the system's certificate store.
|
||||
type Store interface {
|
||||
// Identities gets a list of identities from the store.
|
||||
Identities() ([]Identity, error)
|
||||
|
||||
// Import imports a PKCS#12 (PFX) blob containing a certificate and private
|
||||
// key.
|
||||
Import(data []byte, password string) error
|
||||
|
||||
// Close closes the store.
|
||||
Close()
|
||||
}
|
||||
|
||||
// Identity is a X.509 certificate and its corresponding private key.
|
||||
type Identity interface {
|
||||
// Certificate gets the identity's certificate.
|
||||
Certificate() (*x509.Certificate, error)
|
||||
|
||||
// CertificateChain attempts to get the identity's full certificate chain.
|
||||
CertificateChain() ([]*x509.Certificate, error)
|
||||
|
||||
// Signer gets a crypto.Signer that uses the identity's private key.
|
||||
Signer() (crypto.Signer, error)
|
||||
|
||||
// Delete deletes this identity from the system.
|
||||
Delete() error
|
||||
|
||||
// Close any manually managed memory held by the Identity.
|
||||
Close()
|
||||
}
|
||||
Reference in New Issue
Block a user