structure

package
v0.0.0-...-6d2d128 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 7, 2017 License: GPL-3.0 Imports: 6 Imported by: 1

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

View Source
const MaskCryptoUsageDecrypt = 8
View Source
const MaskCryptoUsageEncrypt = 4
View Source
const ValAttributeNameCryptoAlg = "Cryptographic Algorithm"
View Source
const ValAttributeNameCryptoLen = "Cryptographic Length"
View Source
const ValAttributeNameCryptoUsageMask = "Cryptographic Usage Mask"
View Source
const ValAttributeNameKeyName = "Name"
View Source
const ValCredentialTypeUsernamePassword = 1
View Source
const ValCryptoAlgoAES = 3
View Source
const ValKeyFormatTypeRaw = 1
View Source
const ValNameTypeText = 1
View Source
const ValObjectTypeSymmetricKey = 2
View Source
const ValOperationCreate = 1
View Source
const ValOperationDestroy = 20

Destroy request

View Source
const ValOperationGet = 10

Get request

View Source
const ValProtocolVersionMajorKMIP1_3 = 1
View Source
const ValProtocolVersionMinorKMIP1_3 = 2
View Source
const ValResultReasonNotFound = 1
View Source
const ValResultStatusFailed = 1
View Source
const ValResultStatusPending = 2
View Source
const ValResultStatusSuccess = 0
View Source
const ValResultStatusUndone = 3

Variables

View Source
var AllDefinedTags = map[string]ttlv.Tag{} // String encoded hex value of tag VS tag
View Source
var TagAttribute = RegisterDefinedTag("420008")
View Source
var TagAttributeName = RegisterDefinedTag("42000a")
View Source
var TagAttributeValue = RegisterDefinedTag("42000b")
View Source
var TagAuthentication = RegisterDefinedTag("42000c")
View Source
var TagBatchCount = RegisterDefinedTag("42000d")
View Source
var TagBatchItem = RegisterDefinedTag("42000f")
View Source
var TagCredential = RegisterDefinedTag("420023")
View Source
var TagCredentialType = RegisterDefinedTag("420024")
View Source
var TagCredentialValue = RegisterDefinedTag("420025")
View Source
var TagCryptoAlgorithm = RegisterDefinedTag("420028")
View Source
var TagCryptoLen = RegisterDefinedTag("42002a")
View Source
var TagFormatType = RegisterDefinedTag("420042")
View Source
var TagKeyBlock = RegisterDefinedTag("420040")
View Source
var TagKeyMaterial = RegisterDefinedTag("420043")
View Source
var TagKeyValue = RegisterDefinedTag("420045")
View Source
var TagNameType = RegisterDefinedTag("420054")
View Source
var TagNameValue = RegisterDefinedTag("420055")
View Source
var TagObjectType = RegisterDefinedTag("420057")
View Source
var TagOperation = RegisterDefinedTag("42005c")
View Source
var TagPassword = RegisterDefinedTag("4200a1")
View Source
var TagProtocolVersion = RegisterDefinedTag("420069")
View Source
var TagProtocolVersionMajor = RegisterDefinedTag("42006a")
View Source
var TagProtocolVersionMinor = RegisterDefinedTag("42006b")
View Source
var TagRequestHeader = RegisterDefinedTag("420077")
View Source
var TagRequestMessage = RegisterDefinedTag("420078")

Create request

View Source
var TagRequestPayload = RegisterDefinedTag("420079")
View Source
var TagResponseHeader = RegisterDefinedTag("42007a")
View Source
var TagResponseMessage = RegisterDefinedTag("42007b")

Create response

View Source
var TagResponsePayload = RegisterDefinedTag("42007c")
View Source
var TagResultMessage = RegisterDefinedTag("42007d")
View Source
var TagResultReason = RegisterDefinedTag("42007e")
View Source
var TagResultStatus = RegisterDefinedTag("42007f")
View Source
var TagSymmetricKey = RegisterDefinedTag("42008f")

Get response

View Source
var TagTemplateAttribute = RegisterDefinedTag("420091")
View Source
var TagTimestamp = RegisterDefinedTag("420092")
View Source
var TagUniqueID = RegisterDefinedTag("420094")
View Source
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

func FindStructItem(structPtr ttlv.Item, structTag, itemTag ttlv.Tag) (ttlv.Item, error)

Match input structure pointer against expected structure tag, then look for an item with matching item tag and return.

func RegisterDefinedTag

func RegisterDefinedTag(str string) (ret ttlv.Tag)

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 (block *SKeyBlock) DeserialiseFromTTLV(in ttlv.Item) error

func (*SKeyBlock) SerialiseToTTLV

func (block *SKeyBlock) SerialiseToTTLV() ttlv.Item

type SKeyValue

type SKeyValue struct {
	BKeyMaterial ttlv.Bytes // 420043
}

420045 - this is value of an encryption key, not to be confused with a key-value pair.

func (*SKeyValue) DeserialiseFromTTLV

func (key *SKeyValue) DeserialiseFromTTLV(in ttlv.Item) error

func (*SKeyValue) SerialiseToTTLV

func (key *SKeyValue) SerialiseToTTLV() ttlv.Item

type SProtocolVersion

type SProtocolVersion struct {
	IMajor ttlv.Integer // 42006a
	IMinor ttlv.Integer // 42006b
}

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

type SRequestPayloadDestroy struct {
	TUniqueID ttlv.Text // 420094
}

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

type SRequestPayloadGet struct {
	TUniqueID ttlv.Text // 420094
}

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

type SResponsePayloadDestroy struct {
	TUniqueID ttlv.Text // 420094
}

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL