Documentation
¶
Index ¶
Constants ¶
View Source
const ( ErrTagHasNoBytes constantError = "tag has no bytes" ErrTagShouldHave2Bytes constantError = "tag should have 2 bytes" ErrTagTooLong constantError = "tag too long" ErrLengthHasNoBytes constantError = "length has no bytes" ErrLengthBiggerThanData constantError = "length bigger than data" ErrLengthFormatError constantError = "length format error" ErrValueTooShort constantError = "value too short" )
Variables ¶
View Source
var ( ErrDataLengthTooBigForEncoder = errors.New("data length is too big for this encoder") ErrDataTooShortForDecoder = errors.New("data is too short for this decoder") ErrDataShorterThanLength = errors.New("data is shorter than the length field") )
View Source
var ( ShortLengthEncoder _ShortLengthEncoder ExtendedLengthEncoder _ExtendedLengthEncoder )
Functions ¶
func TagEncoder ¶
func TagEncoder() encoding.EncoderDecoder[Tag]
func UnmarshalBER ¶
Types ¶
type LengthEncoder ¶
type TLV ¶
type TLV []Entry
func (TLV) GetList ¶
func (tlv TLV) GetList(t Tag) ValuesList
func (TLV) Values ¶ added in v0.0.2
func (tlv TLV) Values() ValuesList
type TLVDecodeError ¶
type TLVDecodeError struct {
// contains filtered or unexported fields
}
func (TLVDecodeError) Error ¶
func (e TLVDecodeError) Error() string
func (TLVDecodeError) Is ¶
func (e TLVDecodeError) Is(err error) bool
type Tag ¶
type Tag uint16
const ( Tag42_IssuerIdentificationNumberIIN Tag = 0x42 Tag4F_ApplicationID Tag = 0x4F Tag50_ApplicationLabel Tag = 0x50 Tag57_Track2EquivalentData Tag = 0x57 Tag5A_ApplicationPAN Tag = 0x5A Tag5F20_CardholderName Tag = 0x5F20 Tag5F24_ApplicationExpirationDate Tag = 0x5F24 Tag5F25_ApplicationEffectiveDate Tag = 0x5F25 Tag5F28_IssuerCountryCode Tag = 0x5F28 Tag5F2A_TransactionCurrencyCode Tag = 0x5F2A Tag5F2D_LanguagePreference Tag = 0x5F2D Tag5F30_ServiceCode Tag = 0x5F30 Tag5F34_ApplicationPANSequenceNumber Tag = 0x5F34 Tag5F36_TransactionCurrencyExponent Tag = 0x5F36 Tag5F50_IssuerURL Tag = 0x5F50 Tag5F53_InternationalBankAccountNumberIBAN Tag = 0x5F53 Tag5F54_BankIdentifierCodeBIC Tag = 0x5F54 Tag5F55_IssuerCountryCodealpha2format Tag = 0x5F55 Tag5F56_IssuerCountryCodealpha3format Tag = 0x5F56 Tag61_ApplicationTemplate Tag = 0x61 Tag6F_FileControlInformationFCITemplate Tag = 0x6F Tag70_EMVProprietaryTemplate Tag = 0x70 Tag71_IssuerScriptTemplate1 Tag = 0x71 Tag72_IssuerScriptTemplate2 Tag = 0x72 Tag73_DirectoryDiscretionaryTemplate Tag = 0x73 Tag77_ResponseMessageTemplateFormat2 Tag = 0x77 Tag80_ResponseMessageTemplateFormat1 Tag = 0x80 Tag81_AmountAuthorisedBinary Tag = 0x81 Tag82_ApplicationInterchangeProfile Tag = 0x82 Tag83_CommandTemplate Tag = 0x83 Tag84_DedicatedFileDFName Tag = 0x84 Tag86_IssuerScriptCommand Tag = 0x86 Tag87_ApplicationPriorityIndicator Tag = 0x87 Tag88_ShortFileIdentifierSFI Tag = 0x88 Tag89_AuthorisationCode Tag = 0x89 Tag8A_AuthorisationResponseCode Tag = 0x8A Tag8C_CDOL1 Tag = 0x8C Tag8D_CDOL2 Tag = 0x8D Tag8E_CardholderVerificationMethodList Tag = 0x8E Tag8F_CAPublicKeyIndex1 Tag = 0x8F Tag90_IssuerPublicKeyCertificate Tag = 0x90 Tag91_IssuerAuthenticationData Tag = 0x91 Tag92_IssuerPublicKeyRemainder Tag = 0x92 Tag93_SignedStaticApplicationData Tag = 0x93 Tag94_ApplicationFileLocatorAFL Tag = 0x94 Tag95_TerminalVerificationResults Tag = 0x95 Tag97_TransactionCertificateDataObjectListTDOL Tag = 0x97 Tag98_TransactionCertificateTCHashValue Tag = 0x98 Tag99_TransactionPersonalIdentificationNumberPINData Tag = 0x99 Tag9A_TransactionDate Tag = 0x9A Tag9B_TransactionStatusInformation Tag = 0x9B Tag9C_TransactionType Tag = 0x9C Tag9D_DirectoryDefinitionFileDDFName Tag = 0x9D Tag9F01_AcquirerIdentifier Tag = 0x9F01 Tag9F02_AmountAuthorisedNumeric Tag = 0x9F02 Tag9F03_AmountOtherNumeric Tag = 0x9F03 Tag9F04_AmountOtherBinary Tag = 0x9F04 Tag9F05_ApplicationDiscretionaryData Tag = 0x9F05 Tag9F06_AIDterminal Tag = 0x9F06 Tag9F07_ApplicationUsageControl Tag = 0x9F07 Tag9F08_ApplicationVersionNumber1 Tag = 0x9F08 Tag9F09_ApplicationVersionNumber2 Tag = 0x9F09 Tag9F0B_CardholderNameExtended Tag = 0x9F0B Tag9F0D_IssuerActionCodeDefault Tag = 0x9F0D Tag9F0E_IssuerActionCodeDenial Tag = 0x9F0E Tag9F0F_IssuerActionCodeOnline Tag = 0x9F0F Tag9F10_IssuerApplicationData Tag = 0x9F10 Tag9F11_IssuerCodeTableIndex Tag = 0x9F11 Tag9F12_ApplicationPreferredName Tag = 0x9F12 Tag9F13_LastOnlineApplicationTransactionCounterATCRegister Tag = 0x9F13 Tag9F14_LowerConsecutiveOfflineLimit Tag = 0x9F14 Tag9F15_MerchantCategoryCode Tag = 0x9F15 Tag9F16_MerchantIdentifier Tag = 0x9F16 Tag9F17_PersonalIdentificationNumberPINTryCounter Tag = 0x9F17 Tag9F18_IssuerScriptIdentifier Tag = 0x9F18 Tag9F1A_TerminalCountryCode Tag = 0x9F1A Tag9F1B_TerminalFloorLimit Tag = 0x9F1B Tag9F1C_TerminalIdentification Tag = 0x9F1C Tag9F1D_TerminalRiskManagementData Tag = 0x9F1D Tag9F1E_InterfaceDeviceIFDSerialNumber Tag = 0x9F1E Tag9F1F_Track1DiscretionaryData Tag = 0x9F1F Tag9F20_Track2DiscretionaryData Tag = 0x9F20 Tag9F21_TransactionTime Tag = 0x9F21 Tag9F22_CAPublicKeyIndex2 Tag = 0x9F22 Tag9F23_UpperConsecutiveOfflineLimit Tag = 0x9F23 Tag9F26_ApplicationCryptogram Tag = 0x9F26 Tag9F27_CryptogramInformationData Tag = 0x9F27 Tag9F2D_ICCPINEnciphermentPublicKeyCertificate Tag = 0x9F2D Tag9F2E_ICCPINEnciphermentPublicKeyExponent Tag = 0x9F2E Tag9F2F_ICCPINEnciphermentPublicKeyRemainder Tag = 0x9F2F Tag9F32_IssuerPublicKeyExponent Tag = 0x9F32 Tag9F33_TerminalCapabilities Tag = 0x9F33 Tag9F34_CardholderVerificationMethodResults Tag = 0x9F34 Tag9F35_TerminalType Tag = 0x9F35 Tag9F36_ApplicationTransactionCounter Tag = 0x9F36 Tag9F37_UnpredictableNumber Tag = 0x9F37 Tag9F38_ProcessingOptionsDataObjectListPDOL Tag = 0x9F38 Tag9F39_PointOfServicePOSEntryMode Tag = 0x9F39 Tag9F3A_AmountReferenceCurrency Tag = 0x9F3A Tag9F3B_ApplicationReferenceCurrency Tag = 0x9F3B Tag9F3C_TransactionReferenceCurrencyCode Tag = 0x9F3C Tag9F3D_TransactionReferenceCurrencyExponent Tag = 0x9F3D Tag9F40_AdditionalTerminalCapabilities Tag = 0x9F40 Tag9F41_TransactionSequenceCounter Tag = 0x9F41 Tag9F42_ApplicationCurrencyCode Tag = 0x9F42 Tag9F43_ApplicationReferenceCurrencyExponent Tag = 0x9F43 Tag9F44_ApplicationCurrencyExponent Tag = 0x9F44 Tag9F45_DataAuthenticationCode Tag = 0x9F45 Tag9F46_ICCPublicKeyCertificate Tag = 0x9F46 Tag9F47_ICCPublicKeyExponent Tag = 0x9F47 Tag9F48_ICCPublicKeyRemainder Tag = 0x9F48 Tag9F49_DynamicDataAuthenticationDataObjectListDDOL Tag = 0x9F49 Tag9F4A_StaticDataAuthenticationTagList Tag = 0x9F4A Tag9F4B_SignedDynamicApplicationData Tag = 0x9F4B Tag9F4C_ICCDynamicNumber Tag = 0x9F4C Tag9F4D_LogEntry Tag = 0x9F4D Tag9F4E_MerchantNameandLocation Tag = 0x9F4E Tag9F4F_LogFormat Tag = 0x9F4F TagA5_FileControlInformationFCIProprietaryTemplate Tag = 0xA5 TagBF0C_FileControlInformationFCIIssuerDiscretionaryData Tag = 0xBF0C )
func (Tag) DescriptionOrDefault ¶
func (Tag) NameOrDefault ¶
type Unmarshaler ¶
type ValuesList ¶
type ValuesList []Value
func (ValuesList) AsBERTLV ¶
func (list ValuesList) AsBERTLV() ([]TLV, error)
func (ValuesList) Bytes ¶ added in v0.0.2
func (list ValuesList) Bytes() []byte
Click to show internal directories.
Click to hide internal directories.