Documentation ¶
Index ¶
- Constants
- Variables
- func DERSignatureToRS(tlv []byte) ([]byte, []byte, error)
- func ParseExportKeyResponse(data []byte) ([]byte, []byte, error)
- func VerifyIdentity(challenge []byte, tlvData []byte) ([]byte, error)
- type ApplicationInfo
- func (a *ApplicationInfo) HasCapability(c Capability) bool
- func (a *ApplicationInfo) HasCredentialsManagementCapability() bool
- func (a *ApplicationInfo) HasFactoryResetCapability() bool
- func (a *ApplicationInfo) HasKeyManagementCapability() bool
- func (a *ApplicationInfo) HasNDEFCapability() bool
- func (a *ApplicationInfo) HasSecureChannelCapability() bool
- type ApplicationStatus
- type Capability
- type CardStatus
- type CashApplicationInfo
- type Certificate
- type Channel
- type ErrInvalidLifeCycleValue
- type Metadata
- type PairingInfo
- type Signature
Constants ¶
View Source
const ( TagSelectResponsePreInitialized uint8 = 0x80 TagApplicationStatusTemplate uint8 = 0xA3 TagApplicationInfoTemplate uint8 = 0xA4 TagApplicationInfoCapabilities uint8 = 0x8D )
View Source
const ( LifeCycleOpReady lifeCycle = 0x01 LifeCycleInitialized = 0x07 LifeCycleSecured = 0x0F LifeCycleCardLocked = 0x7F LifeCycleTerminated = 0xFF )
Variables ¶
View Source
var ( TagGetStatusTemplate = apdu.Tag{0xE3} TagGetStatusLifeCycleState = apdu.Tag{0x9F, 0x70} )
View Source
var ( TagExportKeyTemplate = uint8(0xA1) TagExportKeyPublic = uint8(0x81) )
View Source
var ( TagSignatureTemplate = uint8(0xA0) TagRawSignature = uint8(0x80) )
View Source
var ErrApplicationStatusTemplateNotFound = errors.New("application status template not found")
View Source
var ErrWrongApplicationInfoTemplate = errors.New("wrong application info template")
View Source
var (
TagCertificate = uint8(0x8A)
)
Functions ¶
Types ¶
type ApplicationInfo ¶
type ApplicationInfo struct { Installed bool Initialized bool InstanceUID []byte SecureChannelPublicKey []byte Version []byte AvailableSlots []byte // KeyUID is the sha256 of of the master public key on the card. // It's empty if the card doesn't contain any key. KeyUID []byte Capabilities Capability }
func ParseApplicationInfo ¶
func ParseApplicationInfo(data []byte) (*ApplicationInfo, error)
func (*ApplicationInfo) HasCapability ¶
func (a *ApplicationInfo) HasCapability(c Capability) bool
func (*ApplicationInfo) HasCredentialsManagementCapability ¶
func (a *ApplicationInfo) HasCredentialsManagementCapability() bool
func (*ApplicationInfo) HasFactoryResetCapability ¶ added in v0.3.0
func (a *ApplicationInfo) HasFactoryResetCapability() bool
func (*ApplicationInfo) HasKeyManagementCapability ¶
func (a *ApplicationInfo) HasKeyManagementCapability() bool
func (*ApplicationInfo) HasNDEFCapability ¶
func (a *ApplicationInfo) HasNDEFCapability() bool
func (*ApplicationInfo) HasSecureChannelCapability ¶
func (a *ApplicationInfo) HasSecureChannelCapability() bool
type ApplicationStatus ¶
type ApplicationStatus struct { PinRetryCount int PUKRetryCount int KeyInitialized bool Path string }
func ParseApplicationStatus ¶
func ParseApplicationStatus(data []byte) (*ApplicationStatus, error)
type Capability ¶
type Capability uint8
const ( CapabilitySecureChannel Capability = 1 << iota CapabilityKeyManagement CapabilityCredentialsManagement CapabilityNDEF CapabilityFactoryReset CapabilityAll = CapabilitySecureChannel | CapabilityKeyManagement | CapabilityCredentialsManagement | CapabilityNDEF | CapabilityFactoryReset )
type CardStatus ¶
type CardStatus struct {
// contains filtered or unexported fields
}
func ParseCardStatus ¶
func ParseCardStatus(data []byte) (*CardStatus, error)
func (*CardStatus) LifeCycle ¶
func (cs *CardStatus) LifeCycle() string
type CashApplicationInfo ¶
type CashApplicationInfo struct { Installed bool PublicKey []byte PublicData []byte Version []byte }
func ParseCashApplicationInfo ¶
func ParseCashApplicationInfo(data []byte) (*CashApplicationInfo, error)
type Certificate ¶ added in v0.3.0
type Certificate struct {
// contains filtered or unexported fields
}
func ParseCertificate ¶ added in v0.3.0
func ParseCertificate(data []byte) (*Certificate, error)
type Channel ¶
Channel is an interface with a Send method to send apdu commands and receive apdu responses.
type ErrInvalidLifeCycleValue ¶
type ErrInvalidLifeCycleValue struct {
// contains filtered or unexported fields
}
func (*ErrInvalidLifeCycleValue) Error ¶
func (e *ErrInvalidLifeCycleValue) Error() string
type Metadata ¶
type Metadata struct {
// contains filtered or unexported fields
}
func EmptyMetadata ¶
func EmptyMetadata() *Metadata
func ParseMetadata ¶
func (*Metadata) RemovePath ¶
type PairingInfo ¶
type Signature ¶
type Signature struct {
// contains filtered or unexported fields
}
func ParseRecoverableSignature ¶ added in v0.3.0
func ParseSignature ¶
Click to show internal directories.
Click to hide internal directories.