Documentation ¶
Overview ¶
cryptctl - Copyright (c) 2017 SUSE Linux GmbH, Germany This source code is licensed under GPL version 3 that can be found in LICENSE file.
cryptctl - Copyright (c) 2017 SUSE Linux GmbH, Germany This source code is licensed under GPL version 3 that can be found in LICENSE file.
cryptctl - Copyright (c) 2017 SUSE Linux GmbH, Germany This source code is licensed under GPL version 3 that can be found in LICENSE file.
cryptctl - Copyright (c) 2017 SUSE Linux GmbH, Germany This source code is licensed under GPL version 3 that can be found in LICENSE file.
cryptctl - Copyright (c) 2017 SUSE Linux GmbH, Germany This source code is licensed under GPL version 3 that can be found in LICENSE file.
Index ¶
- Constants
- Variables
- func DecodeStructItem(structPtr ttlv.Item, structTag, itemTag ttlv.Tag, ...) error
- func DecodeStructItems(structPtr ttlv.Item, structTag, itemTag ttlv.Tag, ...) error
- func FindStructItem(structPtr ttlv.Item, structTag, itemTag ttlv.Tag) (ttlv.Item, error)
- func RegisterDefinedTag(str string) (ret ttlv.Tag)
- type SAttribute
- type SAuthentication
- type SCreateRequest
- type SCreateRequestNameAttributeValue
- type SCreateResponse
- type SCredential
- type SCredentialValueUsernamePassword
- type SDestroyRequest
- type SDestroyResponse
- type SGetRequest
- type SGetResponse
- type SKeyBlock
- type SKeyValue
- type SProtocolVersion
- type SRequestBatchItem
- type SRequestHeader
- type SRequestPayloadCreate
- type SRequestPayloadDestroy
- type SRequestPayloadGet
- type SResponseBatchItem
- type SResponseHeader
- type SResponsePayloadCreate
- type SResponsePayloadDestroy
- type SResponsePayloadGet
- type SSymmetricKey
- type STemplateAttribute
- type SerialisedItem
Constants ¶
const MaskCryptoUsageDecrypt = 8
const MaskCryptoUsageEncrypt = 4
const ValAttributeNameCryptoAlg = "Cryptographic Algorithm"
const ValAttributeNameCryptoLen = "Cryptographic Length"
const ValAttributeNameCryptoUsageMask = "Cryptographic Usage Mask"
const ValAttributeNameKeyName = "Name"
const ValCredentialTypeUsernamePassword = 1
const ValCryptoAlgoAES = 3
const ValKeyFormatTypeRaw = 1
const ValNameTypeText = 1
const ValObjectTypeSymmetricKey = 2
const ValOperationCreate = 1
const ValOperationDestroy = 20
Destroy request
const ValOperationGet = 10
Get request
const ValProtocolVersionMajorKMIP1_3 = 1
const ValProtocolVersionMinorKMIP1_3 = 2
const ValResultReasonNotFound = 1
const ValResultStatusFailed = 1
const ValResultStatusPending = 2
const ValResultStatusSuccess = 0
const ValResultStatusUndone = 3
Variables ¶
var AllDefinedTags = map[string]ttlv.Tag{} // String encoded hex value of tag VS tag
var TagAttribute = RegisterDefinedTag("420008")
var TagAttributeName = RegisterDefinedTag("42000a")
var TagAttributeValue = RegisterDefinedTag("42000b")
var TagAuthentication = RegisterDefinedTag("42000c")
var TagBatchCount = RegisterDefinedTag("42000d")
var TagBatchItem = RegisterDefinedTag("42000f")
var TagCredential = RegisterDefinedTag("420023")
var TagCredentialType = RegisterDefinedTag("420024")
var TagCredentialValue = RegisterDefinedTag("420025")
var TagCryptoAlgorithm = RegisterDefinedTag("420028")
var TagCryptoLen = RegisterDefinedTag("42002a")
var TagFormatType = RegisterDefinedTag("420042")
var TagKeyBlock = RegisterDefinedTag("420040")
var TagKeyMaterial = RegisterDefinedTag("420043")
var TagKeyValue = RegisterDefinedTag("420045")
var TagNameType = RegisterDefinedTag("420054")
var TagNameValue = RegisterDefinedTag("420055")
var TagObjectType = RegisterDefinedTag("420057")
var TagOperation = RegisterDefinedTag("42005c")
var TagPassword = RegisterDefinedTag("4200a1")
var TagProtocolVersion = RegisterDefinedTag("420069")
var TagProtocolVersionMajor = RegisterDefinedTag("42006a")
var TagProtocolVersionMinor = RegisterDefinedTag("42006b")
var TagRequestHeader = RegisterDefinedTag("420077")
var TagRequestMessage = RegisterDefinedTag("420078")
Create request
var TagRequestPayload = RegisterDefinedTag("420079")
var TagResponseHeader = RegisterDefinedTag("42007a")
var TagResponseMessage = RegisterDefinedTag("42007b")
Create response
var TagResponsePayload = RegisterDefinedTag("42007c")
var TagResultMessage = RegisterDefinedTag("42007d")
var TagResultReason = RegisterDefinedTag("42007e")
var TagResultStatus = RegisterDefinedTag("42007f")
var TagSymmetricKey = RegisterDefinedTag("42008f")
Get response
var TagTemplateAttribute = RegisterDefinedTag("420091")
var TagTimestamp = RegisterDefinedTag("420092")
var TagUniqueID = RegisterDefinedTag("420094")
var TagUsername = RegisterDefinedTag("420099")
Functions ¶
func DecodeStructItem ¶
func DecodeStructItem(structPtr ttlv.Item, structTag, itemTag ttlv.Tag, serialsableOrTTLVItemPtr interface{}) error
Match input structure pointer against expected structure tag, then look for an item with matching item tag and calls receiver to decode itself from the item with matching tag.
func DecodeStructItems ¶
func DecodeStructItems(structPtr ttlv.Item, structTag, itemTag ttlv.Tag, makeReceiver func() interface{}, afterReceiver func(interface{})) error
Match input structure pointer against expected structure tag, then look for items with matching item tag and calls receiver function to decode each item.
func FindStructItem ¶
Match input structure pointer against expected structure tag, then look for an item with matching item tag and return.
func RegisterDefinedTag ¶
Place a tag into AllDefinedTags map for faster look-up.
Types ¶
type SAttribute ¶
type SAttribute struct { TAttributeName ttlv.Text // 42000a AttributeValue ttlv.Item // reference to any TTLV item }
420008
func (*SAttribute) DeserialiseFromTTLV ¶
func (attr *SAttribute) DeserialiseFromTTLV(in ttlv.Item) error
func (SAttribute) SerialiseToTTLV ¶
func (attr SAttribute) SerialiseToTTLV() ttlv.Item
type SAuthentication ¶
type SAuthentication struct {
SCredential SCredential
}
42000c
func (*SAuthentication) DeserialiseFromTTLV ¶
func (auth *SAuthentication) DeserialiseFromTTLV(in ttlv.Item) error
func (SAuthentication) SerialiseToTTLV ¶
func (auth SAuthentication) SerialiseToTTLV() ttlv.Item
type SCreateRequest ¶
type SCreateRequest struct { SRequestHeader SRequestHeader // IBatchCount is assumed to be 1 in serialisation operations SRequestBatchItem SRequestBatchItem // payload is SRequestPayloadCreate }
KMIP request message 420078
func (*SCreateRequest) DeserialiseFromTTLV ¶
func (createReq *SCreateRequest) DeserialiseFromTTLV(in ttlv.Item) error
func (SCreateRequest) SerialiseToTTLV ¶
func (createReq SCreateRequest) SerialiseToTTLV() ttlv.Item
type SCreateRequestNameAttributeValue ¶
type SCreateRequestNameAttributeValue struct { TKeyName ttlv.Text // 420055 EKeyType ttlv.Enumeration // 420054 }
42000b of a create request's payload attribute called "Name"
func (*SCreateRequestNameAttributeValue) DeserialiseFromTTLV ¶
func (nameAttr *SCreateRequestNameAttributeValue) DeserialiseFromTTLV(in ttlv.Item) error
func (SCreateRequestNameAttributeValue) SerialiseToTTLV ¶
func (nameAttr SCreateRequestNameAttributeValue) SerialiseToTTLV() ttlv.Item
type SCreateResponse ¶
type SCreateResponse struct { SResponseHeader SResponseHeader // IBatchCount is assumed to be 1 in serialisation operations SResponseBatchItem SResponseBatchItem }
KMIP response message 42007b
func (*SCreateResponse) DeserialiseFromTTLV ¶
func (createResp *SCreateResponse) DeserialiseFromTTLV(in ttlv.Item) error
func (SCreateResponse) SerialiseToTTLV ¶
func (createResp SCreateResponse) SerialiseToTTLV() ttlv.Item
type SCredential ¶
type SCredential struct { ICredentialType ttlv.Enumeration // 420024. value is 1 - username + password SCredentialValue SCredentialValueUsernamePassword }
420023. Assume credential type is 1, i.e. username + password.
func (*SCredential) DeserialiseFromTTLV ¶
func (cred *SCredential) DeserialiseFromTTLV(in ttlv.Item) error
func (SCredential) SerialiseToTTLV ¶
func (cred SCredential) SerialiseToTTLV() ttlv.Item
type SCredentialValueUsernamePassword ¶
type SCredentialValueUsernamePassword struct { TUsername ttlv.Text // 420099 TPassword ttlv.Text // 4200a1 }
420025
func (*SCredentialValueUsernamePassword) DeserialiseFromTTLV ¶
func (pass *SCredentialValueUsernamePassword) DeserialiseFromTTLV(in ttlv.Item) error
func (SCredentialValueUsernamePassword) SerialiseToTTLV ¶
func (pass SCredentialValueUsernamePassword) SerialiseToTTLV() ttlv.Item
type SDestroyRequest ¶
type SDestroyRequest struct { SRequestHeader SRequestHeader // IBatchCount is assumed to be 1 in serialisation operations SRequestBatchItem SRequestBatchItem // payload is SRequestPayloadDestroy }
KMIP request message 420078
func (*SDestroyRequest) DeserialiseFromTTLV ¶
func (destroyReq *SDestroyRequest) DeserialiseFromTTLV(in ttlv.Item) error
func (SDestroyRequest) SerialiseToTTLV ¶
func (destroyReq SDestroyRequest) SerialiseToTTLV() ttlv.Item
type SDestroyResponse ¶
type SDestroyResponse struct { SResponseHeader SResponseHeader // IBatchCount is assumed to be 1 in serialisation operations SResponseBatchItem SResponseBatchItem // payload is SResponsePayloadDestroy }
KMIP response message 42007b
func (*SDestroyResponse) DeserialiseFromTTLV ¶
func (destroyResp *SDestroyResponse) DeserialiseFromTTLV(in ttlv.Item) error
func (SDestroyResponse) SerialiseToTTLV ¶
func (destroyResp SDestroyResponse) SerialiseToTTLV() ttlv.Item
type SGetRequest ¶
type SGetRequest struct { SRequestHeader SRequestHeader // IBatchCount is assumed to be 1 in serialisation operations SRequestBatchItem SRequestBatchItem // payload is SRequestPayloadGet }
KMIP request message 420078
func (*SGetRequest) DeserialiseFromTTLV ¶
func (getReq *SGetRequest) DeserialiseFromTTLV(in ttlv.Item) error
func (*SGetRequest) SerialiseToTTLV ¶
func (getReq *SGetRequest) SerialiseToTTLV() ttlv.Item
type SGetResponse ¶
type SGetResponse struct { SResponseHeader SResponseHeader // IBatchCount is assumed to be 1 in serialisation operations SResponseBatchItem SResponseBatchItem // payload is SResponsePayloadGet }
KMIP response message 42007b
func (*SGetResponse) DeserialiseFromTTLV ¶
func (getResp *SGetResponse) DeserialiseFromTTLV(in ttlv.Item) error
func (*SGetResponse) SerialiseToTTLV ¶
func (getResp *SGetResponse) SerialiseToTTLV() ttlv.Item
type SKeyBlock ¶
type SKeyBlock struct { EFormatType ttlv.Enumeration // 420042 SKeyValue SKeyValue ECryptoAlgorithm ttlv.Enumeration // 420028 ECryptoLen ttlv.Integer // 42002a }
420040
func (*SKeyBlock) DeserialiseFromTTLV ¶
func (*SKeyBlock) SerialiseToTTLV ¶
type SKeyValue ¶
420045 - this is value of an encryption key, not to be confused with a key-value pair.
func (*SKeyValue) DeserialiseFromTTLV ¶
func (*SKeyValue) SerialiseToTTLV ¶
type SProtocolVersion ¶
420069
func (*SProtocolVersion) DeserialiseFromTTLV ¶
func (ver *SProtocolVersion) DeserialiseFromTTLV(in ttlv.Item) error
func (SProtocolVersion) SerialiseToTTLV ¶
func (ver SProtocolVersion) SerialiseToTTLV() ttlv.Item
type SRequestBatchItem ¶
type SRequestBatchItem struct { EOperation ttlv.Enumeration // 42005c SRequestPayload SerialisedItem // reference to any 420079 }
42000f of a request
func (*SRequestBatchItem) DeserialiseFromTTLV ¶
func (reqItem *SRequestBatchItem) DeserialiseFromTTLV(in ttlv.Item) error
func (SRequestBatchItem) SerialiseToTTLV ¶
func (reqItem SRequestBatchItem) SerialiseToTTLV() ttlv.Item
type SRequestHeader ¶
type SRequestHeader struct { SProtocolVersion SProtocolVersion SAuthentication SAuthentication IBatchCount ttlv.Integer // 42000d }
420077
func (*SRequestHeader) DeserialiseFromTTLV ¶
func (header *SRequestHeader) DeserialiseFromTTLV(in ttlv.Item) error
func (SRequestHeader) SerialiseToTTLV ¶
func (header SRequestHeader) SerialiseToTTLV() ttlv.Item
type SRequestPayloadCreate ¶
type SRequestPayloadCreate struct { EObjectType ttlv.Enumeration // 420057 STemplateAttribute STemplateAttribute // 420091 }
420079
func (*SRequestPayloadCreate) DeserialiseFromTTLV ¶
func (createPayload *SRequestPayloadCreate) DeserialiseFromTTLV(in ttlv.Item) error
func (SRequestPayloadCreate) SerialiseToTTLV ¶
func (createPayload SRequestPayloadCreate) SerialiseToTTLV() ttlv.Item
type SRequestPayloadDestroy ¶
420079 - request payload from a delete request
func (*SRequestPayloadDestroy) DeserialiseFromTTLV ¶
func (deletePayload *SRequestPayloadDestroy) DeserialiseFromTTLV(in ttlv.Item) error
func (SRequestPayloadDestroy) SerialiseToTTLV ¶
func (deletePayload SRequestPayloadDestroy) SerialiseToTTLV() ttlv.Item
type SRequestPayloadGet ¶
420079 - request payload from a get request
func (*SRequestPayloadGet) DeserialiseFromTTLV ¶
func (getPayload *SRequestPayloadGet) DeserialiseFromTTLV(in ttlv.Item) error
func (*SRequestPayloadGet) SerialiseToTTLV ¶
func (getPayload *SRequestPayloadGet) SerialiseToTTLV() ttlv.Item
type SResponseBatchItem ¶
type SResponseBatchItem struct { EOperation ttlv.Enumeration // 42005c EResultStatus ttlv.Enumeration // 42007f EResultReason ttlv.Enumeration // 42007e EResultMessage ttlv.Text // 42007d SResponsePayload SerialisedItem // reference to any 42007c }
42000f of a response message
func (*SResponseBatchItem) DeserialiseFromTTLV ¶
func (respItem *SResponseBatchItem) DeserialiseFromTTLV(in ttlv.Item) error
func (SResponseBatchItem) SerialiseToTTLV ¶
func (respItem SResponseBatchItem) SerialiseToTTLV() ttlv.Item
type SResponseHeader ¶
type SResponseHeader struct { SVersion SProtocolVersion TTimestamp ttlv.DateTime // 420092 IBatchCount ttlv.Integer // 42000d }
42007a
func (*SResponseHeader) DeserialiseFromTTLV ¶
func (respHeader *SResponseHeader) DeserialiseFromTTLV(in ttlv.Item) error
func (SResponseHeader) SerialiseToTTLV ¶
func (respHeader SResponseHeader) SerialiseToTTLV() ttlv.Item
type SResponsePayloadCreate ¶
type SResponsePayloadCreate struct { EObjectType ttlv.Enumeration // 420057 TUniqueID ttlv.Text // 420094 }
42007c - response payload from a create response
func (*SResponsePayloadCreate) DeserialiseFromTTLV ¶
func (createPayload *SResponsePayloadCreate) DeserialiseFromTTLV(in ttlv.Item) error
func (SResponsePayloadCreate) SerialiseToTTLV ¶
func (createPayload SResponsePayloadCreate) SerialiseToTTLV() ttlv.Item
type SResponsePayloadDestroy ¶
42007c - response payload from a destroy response
func (*SResponsePayloadDestroy) DeserialiseFromTTLV ¶
func (deletePayload *SResponsePayloadDestroy) DeserialiseFromTTLV(in ttlv.Item) error
func (SResponsePayloadDestroy) SerialiseToTTLV ¶
func (deletePayload SResponsePayloadDestroy) SerialiseToTTLV() ttlv.Item
type SResponsePayloadGet ¶
type SResponsePayloadGet struct { EObjectType ttlv.Enumeration // 420057 TUniqueID ttlv.Text // 420094 SSymmetricKey SSymmetricKey // 42008f }
42007c - response payload from a get response
func (*SResponsePayloadGet) DeserialiseFromTTLV ¶
func (getPayload *SResponsePayloadGet) DeserialiseFromTTLV(in ttlv.Item) error
func (*SResponsePayloadGet) SerialiseToTTLV ¶
func (getPayload *SResponsePayloadGet) SerialiseToTTLV() ttlv.Item
type SSymmetricKey ¶
type SSymmetricKey struct {
SKeyBlock SKeyBlock
}
42008f
func (*SSymmetricKey) DeserialiseFromTTLV ¶
func (symKey *SSymmetricKey) DeserialiseFromTTLV(in ttlv.Item) error
func (*SSymmetricKey) SerialiseToTTLV ¶
func (symKey *SSymmetricKey) SerialiseToTTLV() ttlv.Item
type STemplateAttribute ¶
type STemplateAttribute struct {
Attributes []SAttribute
}
420091
func (*STemplateAttribute) DeserialiseFromTTLV ¶
func (tattr *STemplateAttribute) DeserialiseFromTTLV(in ttlv.Item) error
func (STemplateAttribute) SerialiseToTTLV ¶
func (tattr STemplateAttribute) SerialiseToTTLV() ttlv.Item
type SerialisedItem ¶
type SerialisedItem interface { SerialiseToTTLV() ttlv.Item // Return reference to encoded TTLV item. The length of encoded item must not be touched, because EncodeAny() eventually calculates the length. DeserialiseFromTTLV(ttlv.Item) error // Parameter is reference to TTLV item. The length of TTLV item must not be used. }
All structures can be encoded to and decoded from TTLV items.