Documentation
¶
Index ¶
- Variables
- type HierSSHTPMKey
- type SSHKeySigner
- type SSHTPMKey
- func Decode(b []byte) (*SSHTPMKey, error)
- func NewImportedSSHTPMKey(tpm transport.TPMCloser, pk any, ownerauth []byte, fn ...keyfile.TPMKeyOption) (*SSHTPMKey, error)
- func NewSSHTPMKey(tpm transport.TPMCloser, alg tpm2.TPMAlgID, bits int, ownerauth []byte, ...) (*SSHTPMKey, error)
- func WrapTPMKey(k *keyfile.TPMKey) (*SSHTPMKey, error)
- func (k *SSHTPMKey) AgentKey() *agent.Key
- func (k *SSHTPMKey) AuthorizedKey() []byte
- func (k *SSHTPMKey) Fingerprint() string
- func (k *SSHTPMKey) GetDescription() string
- func (k *SSHTPMKey) GetTPMKey() *keyfile.TPMKey
- func (k *SSHTPMKey) Signer(keyring *keyring.ThreadKeyring, ownerAuth func() ([]byte, error), ...) *SSHKeySigner
- type SSHTPMKeys
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ECCSRK_H10_Template = tpm2.TPMTPublic{ Type: tpm2.TPMAlgECC, NameAlg: tpm2.TPMAlgSHA256, ObjectAttributes: tpm2.TPMAObject{ FixedTPM: true, FixedParent: true, SensitiveDataOrigin: true, UserWithAuth: true, AdminWithPolicy: false, SignEncrypt: true, Decrypt: true, }, AuthPolicy: tpm2.TPM2BDigest{ Buffer: []byte{ 0xCA, 0x3D, 0x0A, 0x99, 0xA2, 0xB9, 0x39, 0x06, 0xF7, 0xA3, 0x34, 0x24, 0x14, 0xEF, 0xCF, 0xB3, 0xA3, 0x85, 0xD4, 0x4C, 0xD1, 0xFD, 0x45, 0x90, 0x89, 0xD1, 0x9B, 0x50, 0x71, 0xC0, 0xB7, 0xA0, }, }, Parameters: tpm2.NewTPMUPublicParms( tpm2.TPMAlgECC, &tpm2.TPMSECCParms{ CurveID: tpm2.TPMECCNistP256, Scheme: tpm2.TPMTECCScheme{ Scheme: tpm2.TPMAlgNull, }, }, ), Unique: tpm2.NewTPMUPublicID( tpm2.TPMAlgECC, &tpm2.TPMSECCPoint{ X: tpm2.TPM2BECCParameter{ Buffer: make([]byte, 0), }, Y: tpm2.TPM2BECCParameter{ Buffer: make([]byte, 0), }, }, ), } RSASRK_H9_Template = tpm2.TPMTPublic{ Type: tpm2.TPMAlgRSA, NameAlg: tpm2.TPMAlgSHA256, ObjectAttributes: tpm2.TPMAObject{ FixedTPM: true, FixedParent: true, SensitiveDataOrigin: true, UserWithAuth: true, AdminWithPolicy: false, SignEncrypt: true, Decrypt: true, }, AuthPolicy: tpm2.TPM2BDigest{ Buffer: []byte{ 0xCA, 0x3D, 0x0A, 0x99, 0xA2, 0xB9, 0x39, 0x06, 0xF7, 0xA3, 0x34, 0x24, 0x14, 0xEF, 0xCF, 0xB3, 0xA3, 0x85, 0xD4, 0x4C, 0xD1, 0xFD, 0x45, 0x90, 0x89, 0xD1, 0x9B, 0x50, 0x71, 0xC0, 0xB7, 0xA0, }, }, Parameters: tpm2.NewTPMUPublicParms( tpm2.TPMAlgRSA, &tpm2.TPMSRSAParms{ Scheme: tpm2.TPMTRSAScheme{ Scheme: tpm2.TPMAlgNull, }, KeyBits: 2048, }, ), Unique: tpm2.NewTPMUPublicID( tpm2.TPMAlgRSA, &tpm2.TPM2BPublicKeyRSA{Buffer: make([]byte, 0)}, ), } )
View Source
var (
ErrOldKey = errors.New("old format on key")
)
Functions ¶
This section is empty.
Types ¶
type HierSSHTPMKey ¶ added in v0.8.0
type HierSSHTPMKey struct { *SSHTPMKey // contains filtered or unexported fields }
func CreateHierarchyKey ¶ added in v0.8.0
func (*HierSSHTPMKey) FlushHandle ¶ added in v0.8.0
func (h *HierSSHTPMKey) FlushHandle(tpm transport.TPMCloser)
func (*HierSSHTPMKey) Signer ¶ added in v0.8.0
func (h *HierSSHTPMKey) Signer(keyring *keyring.ThreadKeyring, ownerAuth func() ([]byte, error), tpm func() transport.TPMCloser, auth func(*keyfile.TPMKey) ([]byte, error)) *SSHKeySigner
type SSHKeySigner ¶ added in v0.8.0
type SSHKeySigner struct { *keyfile.TPMKeySigner // contains filtered or unexported fields }
Shim for keyfile.TPMKeySigner We need access to the SSHTPMKey to change the userauth for caching
func NewSSHKeySigner ¶ added in v0.8.0
func NewSSHKeySigner(k SSHTPMKeys, keyring *keyring.ThreadKeyring, ownerAuth func() ([]byte, error), tpm func() transport.TPMCloser, auth func(*keyfile.TPMKey) ([]byte, error)) *SSHKeySigner
func (*SSHKeySigner) Sign ¶ added in v0.8.0
func (t *SSHKeySigner) Sign(r io.Reader, digest []byte, opts crypto.SignerOpts) ([]byte, error)
type SSHTPMKey ¶ added in v0.5.0
SSHTPMKey is a wrapper for TPMKey implementing the ssh.PublicKey specific parts
func NewImportedSSHTPMKey ¶ added in v0.5.0
func NewImportedSSHTPMKey(tpm transport.TPMCloser, pk any, ownerauth []byte, fn ...keyfile.TPMKeyOption) (*SSHTPMKey, error)
This assumes we are just getting a local PK.
func NewSSHTPMKey ¶ added in v0.5.0
func (*SSHTPMKey) AuthorizedKey ¶ added in v0.5.0
func (*SSHTPMKey) Fingerprint ¶ added in v0.5.0
func (*SSHTPMKey) GetDescription ¶ added in v0.8.0
type SSHTPMKeys ¶ added in v0.8.0
Click to show internal directories.
Click to hide internal directories.