mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-27 15:30:23 +00:00
71 lines
4.2 KiB
Go
71 lines
4.2 KiB
Go
|
package kmip
|
||
|
|
||
|
import (
|
||
|
"github.com/gemalto/kmip-go/kmip14"
|
||
|
)
|
||
|
|
||
|
// 3
|
||
|
|
||
|
// Name 3.2 Table 57
|
||
|
//
|
||
|
// The Name attribute is a structure (see Table 57) used to identify and locate an object.
|
||
|
// This attribute is assigned by the client, and the Name Value is intended to be in a form that
|
||
|
// humans are able to interpret. The key management system MAY specify rules by which the client
|
||
|
// creates valid names. Clients are informed of such rules by a mechanism that is not specified by
|
||
|
// this standard. Names SHALL be unique within a given key management domain,
|
||
|
// but are NOT REQUIRED to be globally unique.
|
||
|
type Name struct {
|
||
|
NameValue string
|
||
|
NameType kmip14.NameType
|
||
|
}
|
||
|
|
||
|
// Cryptographic Parameters 3.6 Table 65
|
||
|
//
|
||
|
// The Cryptographic Parameters attribute is a structure (see Table 65) that contains a set of OPTIONAL
|
||
|
// fields that describe certain cryptographic parameters to be used when performing cryptographic operations
|
||
|
// using the object. Specific fields MAY pertain only to certain types of Managed Cryptographic Objects. The
|
||
|
// Cryptographic Parameters attribute of a Certificate object identifies the cryptographic parameters of the
|
||
|
// public key contained within the Certificate.
|
||
|
//
|
||
|
// The Cryptographic Algorithm is also used to specify the parameters for cryptographic operations. For operations
|
||
|
// involving digital signatures, either the Digital Signature Algorithm can be specified or the Cryptographic
|
||
|
// Algorithm and Hashing Algorithm combination can be specified.
|
||
|
//
|
||
|
// Random IV can be used to request that the KMIP server generate an appropriate IV for a
|
||
|
// cryptographic operation that uses an IV. The generated Random IV is returned in the response
|
||
|
// to the cryptographic operation.
|
||
|
//
|
||
|
// IV Length is the length of the Initialization Vector in bits. This parameter SHALL be provided when the
|
||
|
// specified Block Cipher Mode supports variable IV lengths such as CTR or GCM.
|
||
|
//
|
||
|
// Tag Length is the length of the authentication tag in bytes. This parameter SHALL be provided when the
|
||
|
// Block Cipher Mode is GCM or CCM.
|
||
|
//
|
||
|
// The IV used with counter modes of operation (e.g., CTR and GCM) cannot repeat for a given cryptographic key.
|
||
|
// To prevent an IV/key reuse, the IV is often constructed of three parts: a fixed field, an invocation field,
|
||
|
// and a counter as described in [SP800-38A] and [SP800-38D]. The Fixed Field Length is the length of the fixed
|
||
|
// field portion of the IV in bits. The Invocation Field Length is the length of the invocation field portion of
|
||
|
// the IV in bits. The Counter Length is the length of the counter portion of the IV in bits.
|
||
|
//
|
||
|
// Initial Counter Value is the starting counter value for CTR mode (for [RFC3686] it is 1).
|
||
|
type CryptographicParameters struct {
|
||
|
BlockCipherMode kmip14.BlockCipherMode `ttlv:",omitempty"`
|
||
|
PaddingMethod kmip14.PaddingMethod `ttlv:",omitempty"`
|
||
|
HashingAlgorithm kmip14.HashingAlgorithm `ttlv:",omitempty"`
|
||
|
KeyRoleType kmip14.KeyRoleType `ttlv:",omitempty"`
|
||
|
DigitalSignatureAlgorithm kmip14.DigitalSignatureAlgorithm `ttlv:",omitempty"`
|
||
|
CryptographicAlgorithm kmip14.CryptographicAlgorithm `ttlv:",omitempty"`
|
||
|
RandomIV bool `ttlv:",omitempty"`
|
||
|
IVLength int `ttlv:",omitempty"`
|
||
|
TagLength int `ttlv:",omitempty"`
|
||
|
FixedFieldLength int `ttlv:",omitempty"`
|
||
|
InvocationFieldLength int `ttlv:",omitempty"`
|
||
|
CounterLength int `ttlv:",omitempty"`
|
||
|
InitialCounterValue int `ttlv:",omitempty"`
|
||
|
SaltLength int `ttlv:",omitempty"`
|
||
|
MaskGenerator kmip14.MaskGenerator `ttlv:",omitempty" default:"1"` // defaults to MGF1
|
||
|
MaskGeneratorHashingAlgorithm kmip14.HashingAlgorithm `ttlv:",omitempty" default:"4"` // defaults to SHA-1
|
||
|
PSource []byte `ttlv:",omitempty"`
|
||
|
TrailerField int `ttlv:",omitempty"`
|
||
|
}
|