Crypt-HSM

 view release on metacpan or  search on metacpan

include/pkcs11t.h  view on Meta::CPAN

#define CKM_SHA3_384_RSA_PKCS          0x00000061UL
#define CKM_SHA3_512_RSA_PKCS          0x00000062UL
#define CKM_SHA3_256_RSA_PKCS_PSS      0x00000063UL
#define CKM_SHA3_384_RSA_PKCS_PSS      0x00000064UL
#define CKM_SHA3_512_RSA_PKCS_PSS      0x00000065UL
#define CKM_SHA3_224_RSA_PKCS          0x00000066UL
#define CKM_SHA3_224_RSA_PKCS_PSS      0x00000067UL

#define CKM_RC2_KEY_GEN                0x00000100UL /* Historical */
#define CKM_RC2_ECB                    0x00000101UL /* Historical */
#define CKM_RC2_CBC                    0x00000102UL /* Historical */
#define CKM_RC2_MAC                    0x00000103UL /* Historical */

#define CKM_RC2_MAC_GENERAL            0x00000104UL /* Historical */
#define CKM_RC2_CBC_PAD                0x00000105UL /* Historical */

#define CKM_RC4_KEY_GEN                0x00000110UL /* Historical */
#define CKM_RC4                        0x00000111UL /* Historical */
#define CKM_DES_KEY_GEN                0x00000120UL /* Historical */
#define CKM_DES_ECB                    0x00000121UL /* Historical */
#define CKM_DES_CBC                    0x00000122UL /* Historical */
#define CKM_DES_MAC                    0x00000123UL /* Historical */

#define CKM_DES_MAC_GENERAL            0x00000124UL /* Historical */
#define CKM_DES_CBC_PAD                0x00000125UL /* Historical */

#define CKM_DES2_KEY_GEN               0x00000130UL
#define CKM_DES3_KEY_GEN               0x00000131UL
#define CKM_DES3_ECB                   0x00000132UL
#define CKM_DES3_CBC                   0x00000133UL
#define CKM_DES3_MAC                   0x00000134UL

#define CKM_DES3_MAC_GENERAL           0x00000135UL
#define CKM_DES3_CBC_PAD               0x00000136UL
#define CKM_DES3_CMAC_GENERAL          0x00000137UL
#define CKM_DES3_CMAC                  0x00000138UL
#define CKM_CDMF_KEY_GEN               0x00000140UL /* Historical */
#define CKM_CDMF_ECB                   0x00000141UL /* Historical */
#define CKM_CDMF_CBC                   0x00000142UL /* Historical */
#define CKM_CDMF_MAC                   0x00000143UL /* Historical */
#define CKM_CDMF_MAC_GENERAL           0x00000144UL /* Historical */
#define CKM_CDMF_CBC_PAD               0x00000145UL /* Historical */

#define CKM_DES_OFB64                  0x00000150UL
#define CKM_DES_OFB8                   0x00000151UL
#define CKM_DES_CFB64                  0x00000152UL
#define CKM_DES_CFB8                   0x00000153UL

#define CKM_MD2                        0x00000200UL /* Historical */

#define CKM_MD2_HMAC                   0x00000201UL /* Historical */
#define CKM_MD2_HMAC_GENERAL           0x00000202UL /* Historical */

include/pkcs11t.h  view on Meta::CPAN

#define CKM_SHA3_384_HMAC_GENERAL      0x000002c2UL
#define CKM_SHA3_384_KEY_GEN           0x000002c3UL
#define CKM_SHA3_512                   0x000002d0UL
#define CKM_SHA3_512_HMAC              0x000002d1UL
#define CKM_SHA3_512_HMAC_GENERAL      0x000002d2UL
#define CKM_SHA3_512_KEY_GEN           0x000002d3UL


#define CKM_CAST_KEY_GEN               0x00000300UL /* Historical */
#define CKM_CAST_ECB                   0x00000301UL /* Historical */
#define CKM_CAST_CBC                   0x00000302UL /* Historical */
#define CKM_CAST_MAC                   0x00000303UL /* Historical */
#define CKM_CAST_MAC_GENERAL           0x00000304UL /* Historical */
#define CKM_CAST_CBC_PAD               0x00000305UL /* Historical */
#define CKM_CAST3_KEY_GEN              0x00000310UL /* Historical */
#define CKM_CAST3_ECB                  0x00000311UL /* Historical */
#define CKM_CAST3_CBC                  0x00000312UL /* Historical */
#define CKM_CAST3_MAC                  0x00000313UL /* Historical */
#define CKM_CAST3_MAC_GENERAL          0x00000314UL /* Historical */
#define CKM_CAST3_CBC_PAD              0x00000315UL /* Historical */
/* Note that CAST128 and CAST5 are the same algorithm */
#define CKM_CAST5_KEY_GEN              0x00000320UL /* Historical */
#define CKM_CAST128_KEY_GEN            0x00000320UL /* Historical */
#define CKM_CAST5_ECB                  0x00000321UL /* Historical */
#define CKM_CAST128_ECB                0x00000321UL /* Historical */
#define CKM_CAST5_CBC                  0x00000322UL /* Deprecated */
#define CKM_CAST128_CBC                0x00000322UL /* Historical */
#define CKM_CAST5_MAC                  0x00000323UL /* Deprecated */
#define CKM_CAST128_MAC                0x00000323UL /* Historical */
#define CKM_CAST5_MAC_GENERAL          0x00000324UL /* Deprecated */
#define CKM_CAST128_MAC_GENERAL        0x00000324UL /* Historical */
#define CKM_CAST5_CBC_PAD              0x00000325UL /* Deprecated */
#define CKM_CAST128_CBC_PAD            0x00000325UL /* Historical */
#define CKM_RC5_KEY_GEN                0x00000330UL /* Historical */
#define CKM_RC5_ECB                    0x00000331UL /* Historical */
#define CKM_RC5_CBC                    0x00000332UL /* Historical */
#define CKM_RC5_MAC                    0x00000333UL /* Historical */
#define CKM_RC5_MAC_GENERAL            0x00000334UL /* Historical */
#define CKM_RC5_CBC_PAD                0x00000335UL /* Historical */
#define CKM_IDEA_KEY_GEN               0x00000340UL /* Historical */
#define CKM_IDEA_ECB                   0x00000341UL /* Historical */
#define CKM_IDEA_CBC                   0x00000342UL /* Historical */
#define CKM_IDEA_MAC                   0x00000343UL /* Historical */
#define CKM_IDEA_MAC_GENERAL           0x00000344UL /* Historical */
#define CKM_IDEA_CBC_PAD               0x00000345UL /* Historical */
#define CKM_GENERIC_SECRET_KEY_GEN     0x00000350UL
#define CKM_CONCATENATE_BASE_AND_KEY   0x00000360UL
#define CKM_CONCATENATE_BASE_AND_DATA  0x00000362UL
#define CKM_CONCATENATE_DATA_AND_BASE  0x00000363UL
#define CKM_XOR_BASE_AND_DATA          0x00000364UL
#define CKM_EXTRACT_KEY_FROM_KEY       0x00000365UL
#define CKM_SSL3_PRE_MASTER_KEY_GEN    0x00000370UL
#define CKM_SSL3_MASTER_KEY_DERIVE     0x00000371UL
#define CKM_SSL3_KEY_AND_MAC_DERIVE    0x00000372UL

include/pkcs11t.h  view on Meta::CPAN

#define CKM_SHA3_512_KEY_DERIVATION    0x0000039aUL
#define CKM_SHAKE_128_KEY_DERIVATION   0x0000039bUL
#define CKM_SHAKE_256_KEY_DERIVATION   0x0000039cUL
#define CKM_SHA3_256_KEY_DERIVE  CKM_SHA3_256_KEY_DERIVATION
#define CKM_SHA3_224_KEY_DERIVE  CKM_SHA3_224_KEY_DERIVATION
#define CKM_SHA3_384_KEY_DERIVE  CKM_SHA3_384_KEY_DERIVATION
#define CKM_SHA3_512_KEY_DERIVE  CKM_SHA3_512_KEY_DERIVATION
#define CKM_SHAKE_128_KEY_DERIVE CKM_SHAKE_128_KEY_DERIVATION
#define CKM_SHAKE_256_KEY_DERIVE CKM_SHAKE_256_KEY_DERIVATION

#define CKM_PBE_MD2_DES_CBC            0x000003a0UL /* Historical */
#define CKM_PBE_MD5_DES_CBC            0x000003a1UL /* Historical */
#define CKM_PBE_MD5_CAST_CBC           0x000003a2UL /* Historical */
#define CKM_PBE_MD5_CAST3_CBC          0x000003a3UL /* Historical */
#define CKM_PBE_MD5_CAST5_CBC          0x000003a4UL /* Deprecated */
#define CKM_PBE_MD5_CAST128_CBC        0x000003a4UL /* Historical */
#define CKM_PBE_SHA1_CAST5_CBC         0x000003a5UL /* Deprecated */
#define CKM_PBE_SHA1_CAST128_CBC       0x000003a5UL /* Historical */
#define CKM_PBE_SHA1_RC4_128           0x000003a6UL /* Historical */
#define CKM_PBE_SHA1_RC4_40            0x000003a7UL /* Historical */
#define CKM_PBE_SHA1_DES3_EDE_CBC      0x000003a8UL
#define CKM_PBE_SHA1_DES2_EDE_CBC      0x000003a9UL
#define CKM_PBE_SHA1_RC2_128_CBC       0x000003aaUL
#define CKM_PBE_SHA1_RC2_40_CBC        0x000003abUL

#define CKM_PKCS5_PBKD2                0x000003b0UL

#define CKM_PBA_SHA1_WITH_SHA1_HMAC    0x000003c0UL

#define CKM_WTLS_PRE_MASTER_KEY_GEN         0x000003d0UL
#define CKM_WTLS_MASTER_KEY_DERIVE          0x000003d1UL
#define CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC   0x000003d2UL
#define CKM_WTLS_PRF                        0x000003d3UL
#define CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE  0x000003d4UL

include/pkcs11t.h  view on Meta::CPAN

#define CKM_KEY_WRAP_LYNKS             0x00000400UL
#define CKM_KEY_WRAP_SET_OAEP          0x00000401UL

#define CKM_CMS_SIG                    0x00000500UL
#define CKM_KIP_DERIVE                 0x00000510UL
#define CKM_KIP_WRAP                   0x00000511UL
#define CKM_KIP_MAC                    0x00000512UL

#define CKM_CAMELLIA_KEY_GEN           0x00000550UL
#define CKM_CAMELLIA_ECB               0x00000551UL
#define CKM_CAMELLIA_CBC               0x00000552UL
#define CKM_CAMELLIA_MAC               0x00000553UL
#define CKM_CAMELLIA_MAC_GENERAL       0x00000554UL
#define CKM_CAMELLIA_CBC_PAD           0x00000555UL
#define CKM_CAMELLIA_ECB_ENCRYPT_DATA  0x00000556UL
#define CKM_CAMELLIA_CBC_ENCRYPT_DATA  0x00000557UL
#define CKM_CAMELLIA_CTR               0x00000558UL /* Historical */

#define CKM_ARIA_KEY_GEN               0x00000560UL
#define CKM_ARIA_ECB                   0x00000561UL
#define CKM_ARIA_CBC                   0x00000562UL
#define CKM_ARIA_MAC                   0x00000563UL
#define CKM_ARIA_MAC_GENERAL           0x00000564UL
#define CKM_ARIA_CBC_PAD               0x00000565UL
#define CKM_ARIA_ECB_ENCRYPT_DATA      0x00000566UL
#define CKM_ARIA_CBC_ENCRYPT_DATA      0x00000567UL

#define CKM_SEED_KEY_GEN               0x00000650UL
#define CKM_SEED_ECB                   0x00000651UL
#define CKM_SEED_CBC                   0x00000652UL
#define CKM_SEED_MAC                   0x00000653UL
#define CKM_SEED_MAC_GENERAL           0x00000654UL
#define CKM_SEED_CBC_PAD               0x00000655UL
#define CKM_SEED_ECB_ENCRYPT_DATA      0x00000656UL
#define CKM_SEED_CBC_ENCRYPT_DATA      0x00000657UL

#define CKM_SKIPJACK_KEY_GEN           0x00001000UL /* Historical */
#define CKM_SKIPJACK_ECB64             0x00001001UL /* Historical */
#define CKM_SKIPJACK_CBC64             0x00001002UL /* Historical */
#define CKM_SKIPJACK_OFB64             0x00001003UL /* Historical */
#define CKM_SKIPJACK_CFB64             0x00001004UL /* Historical */
#define CKM_SKIPJACK_CFB32             0x00001005UL /* Historical */
#define CKM_SKIPJACK_CFB16             0x00001006UL /* Historical */
#define CKM_SKIPJACK_CFB8              0x00001007UL /* Historical */
#define CKM_SKIPJACK_WRAP              0x00001008UL /* Historical */
#define CKM_SKIPJACK_PRIVATE_WRAP      0x00001009UL /* Historical */
#define CKM_SKIPJACK_RELAYX            0x0000100aUL /* Historical */
#define CKM_KEA_KEY_PAIR_GEN           0x00001010UL /* Historical */
#define CKM_KEA_KEY_DERIVE             0x00001011UL /* Historical */
#define CKM_KEA_DERIVE                 0x00001012UL /* Historical */
#define CKM_FORTEZZA_TIMESTAMP         0x00001020UL /* Historical */
#define CKM_BATON_KEY_GEN              0x00001030UL /* Historical */
#define CKM_BATON_ECB128               0x00001031UL /* Historical */
#define CKM_BATON_ECB96                0x00001032UL /* Historical */
#define CKM_BATON_CBC128               0x00001033UL /* Historical */
#define CKM_BATON_COUNTER              0x00001034UL /* Historical */
#define CKM_BATON_SHUFFLE              0x00001035UL /* Historical */
#define CKM_BATON_WRAP                 0x00001036UL /* Historical */

#define CKM_ECDSA_KEY_PAIR_GEN         0x00001040UL /* Deprecated */
#define CKM_EC_KEY_PAIR_GEN            0x00001040UL

#define CKM_ECDSA                      0x00001041UL
#define CKM_ECDSA_SHA1                 0x00001042UL
#define CKM_ECDSA_SHA224               0x00001043UL

include/pkcs11t.h  view on Meta::CPAN


#define CKM_ECDH1_DERIVE               0x00001050UL
#define CKM_ECDH1_COFACTOR_DERIVE      0x00001051UL
#define CKM_ECMQV_DERIVE               0x00001052UL

#define CKM_ECDH_AES_KEY_WRAP          0x00001053UL
#define CKM_RSA_AES_KEY_WRAP           0x00001054UL

#define CKM_JUNIPER_KEY_GEN            0x00001060UL /* Historical */
#define CKM_JUNIPER_ECB128             0x00001061UL /* Historical */
#define CKM_JUNIPER_CBC128             0x00001062UL /* Historical */
#define CKM_JUNIPER_COUNTER            0x00001063UL /* Historical */
#define CKM_JUNIPER_SHUFFLE            0x00001064UL /* Historical */
#define CKM_JUNIPER_WRAP               0x00001065UL /* Historical */
#define CKM_FASTHASH                   0x00001070UL

#define CKM_AES_XTS                    0x00001071UL
#define CKM_AES_XTS_KEY_GEN            0x00001072UL
#define CKM_AES_KEY_GEN                0x00001080UL
#define CKM_AES_ECB                    0x00001081UL
#define CKM_AES_CBC                    0x00001082UL
#define CKM_AES_MAC                    0x00001083UL
#define CKM_AES_MAC_GENERAL            0x00001084UL
#define CKM_AES_CBC_PAD                0x00001085UL
#define CKM_AES_CTR                    0x00001086UL
#define CKM_AES_GCM                    0x00001087UL
#define CKM_AES_CCM                    0x00001088UL
#define CKM_AES_CTS                    0x00001089UL
#define CKM_AES_CMAC                   0x0000108aUL
#define CKM_AES_CMAC_GENERAL           0x0000108bUL

#define CKM_AES_XCBC_MAC               0x0000108cUL
#define CKM_AES_XCBC_MAC_96            0x0000108dUL
#define CKM_AES_GMAC                   0x0000108eUL

#define CKM_BLOWFISH_KEY_GEN           0x00001090UL
#define CKM_BLOWFISH_CBC               0x00001091UL
#define CKM_TWOFISH_KEY_GEN            0x00001092UL
#define CKM_TWOFISH_CBC                0x00001093UL
#define CKM_BLOWFISH_CBC_PAD           0x00001094UL
#define CKM_TWOFISH_CBC_PAD            0x00001095UL

#define CKM_DES_ECB_ENCRYPT_DATA       0x00001100UL
#define CKM_DES_CBC_ENCRYPT_DATA       0x00001101UL
#define CKM_DES3_ECB_ENCRYPT_DATA      0x00001102UL
#define CKM_DES3_CBC_ENCRYPT_DATA      0x00001103UL
#define CKM_AES_ECB_ENCRYPT_DATA       0x00001104UL
#define CKM_AES_CBC_ENCRYPT_DATA       0x00001105UL

#define CKM_GOSTR3410_KEY_PAIR_GEN     0x00001200UL
#define CKM_GOSTR3410                  0x00001201UL
#define CKM_GOSTR3410_WITH_GOSTR3411   0x00001202UL
#define CKM_GOSTR3410_KEY_WRAP         0x00001203UL
#define CKM_GOSTR3410_DERIVE           0x00001204UL
#define CKM_GOSTR3411                  0x00001210UL
#define CKM_GOSTR3411_HMAC             0x00001211UL
#define CKM_GOST28147_KEY_GEN          0x00001220UL
#define CKM_GOST28147_ECB              0x00001221UL

include/pkcs11t.h  view on Meta::CPAN


/* CK_RC2_PARAMS provides the parameters to the CKM_RC2_ECB and
 * CKM_RC2_MAC mechanisms.  An instance of CK_RC2_PARAMS just
 * holds the effective keysize
 */
typedef CK_ULONG          CK_RC2_PARAMS;

typedef CK_RC2_PARAMS CK_PTR CK_RC2_PARAMS_PTR;


/* CK_RC2_CBC_PARAMS provides the parameters to the CKM_RC2_CBC
 * mechanism
 */
typedef struct CK_RC2_CBC_PARAMS {
  CK_ULONG      ulEffectiveBits;  /* effective bits (1-1024) */
  CK_BYTE       iv[8];            /* IV for CBC mode */
} CK_RC2_CBC_PARAMS;

typedef CK_RC2_CBC_PARAMS CK_PTR CK_RC2_CBC_PARAMS_PTR;


/* CK_RC2_MAC_GENERAL_PARAMS provides the parameters for the
 * CKM_RC2_MAC_GENERAL mechanism
 */
typedef struct CK_RC2_MAC_GENERAL_PARAMS {
  CK_ULONG      ulEffectiveBits;  /* effective bits (1-1024) */
  CK_ULONG      ulMacLength;      /* Length of MAC in bytes */
} CK_RC2_MAC_GENERAL_PARAMS;

include/pkcs11t.h  view on Meta::CPAN

 * CKM_RC5_MAC mechanisms
 */
typedef struct CK_RC5_PARAMS {
  CK_ULONG      ulWordsize;  /* wordsize in bits */
  CK_ULONG      ulRounds;    /* number of rounds */
} CK_RC5_PARAMS;

typedef CK_RC5_PARAMS CK_PTR CK_RC5_PARAMS_PTR;


/* CK_RC5_CBC_PARAMS provides the parameters to the CKM_RC5_CBC
 * mechanism
 */
typedef struct CK_RC5_CBC_PARAMS {
  CK_ULONG      ulWordsize;  /* wordsize in bits */
  CK_ULONG      ulRounds;    /* number of rounds */
  CK_BYTE_PTR   pIv;         /* pointer to IV */
  CK_ULONG      ulIvLen;     /* length of IV in bytes */
} CK_RC5_CBC_PARAMS;

typedef CK_RC5_CBC_PARAMS CK_PTR CK_RC5_CBC_PARAMS_PTR;


/* CK_RC5_MAC_GENERAL_PARAMS provides the parameters for the
 * CKM_RC5_MAC_GENERAL mechanism
 */
typedef struct CK_RC5_MAC_GENERAL_PARAMS {
  CK_ULONG      ulWordsize;   /* wordsize in bits */
  CK_ULONG      ulRounds;     /* number of rounds */
  CK_ULONG      ulMacLength;  /* Length of MAC in bytes */
} CK_RC5_MAC_GENERAL_PARAMS;

include/pkcs11t.h  view on Meta::CPAN

  CK_RC5_MAC_GENERAL_PARAMS_PTR;

/* CK_MAC_GENERAL_PARAMS provides the parameters to most block
 * ciphers' MAC_GENERAL mechanisms.  Its value is the length of
 * the MAC
 */
typedef CK_ULONG          CK_MAC_GENERAL_PARAMS;

typedef CK_MAC_GENERAL_PARAMS CK_PTR CK_MAC_GENERAL_PARAMS_PTR;

typedef struct CK_DES_CBC_ENCRYPT_DATA_PARAMS {
  CK_BYTE      iv[8];
  CK_BYTE_PTR  pData;
  CK_ULONG     length;
} CK_DES_CBC_ENCRYPT_DATA_PARAMS;

typedef CK_DES_CBC_ENCRYPT_DATA_PARAMS CK_PTR CK_DES_CBC_ENCRYPT_DATA_PARAMS_PTR;

typedef struct CK_AES_CBC_ENCRYPT_DATA_PARAMS {
  CK_BYTE      iv[16];
  CK_BYTE_PTR  pData;
  CK_ULONG     length;
} CK_AES_CBC_ENCRYPT_DATA_PARAMS;

typedef CK_AES_CBC_ENCRYPT_DATA_PARAMS CK_PTR CK_AES_CBC_ENCRYPT_DATA_PARAMS_PTR;

/* CK_SKIPJACK_PRIVATE_WRAP_PARAMS provides the parameters to the
 * CKM_SKIPJACK_PRIVATE_WRAP mechanism
 */
typedef struct CK_SKIPJACK_PRIVATE_WRAP_PARAMS {
  CK_ULONG      ulPasswordLen;
  CK_BYTE_PTR   pPassword;
  CK_ULONG      ulPublicDataLen;
  CK_BYTE_PTR   pPublicData;
  CK_ULONG      ulPAndGLen;

include/pkcs11t.h  view on Meta::CPAN


typedef CK_AES_CCM_PARAMS CK_PTR CK_AES_CCM_PARAMS_PTR;

typedef struct CK_CAMELLIA_CTR_PARAMS {
    CK_ULONG          ulCounterBits;
    CK_BYTE           cb[16];
} CK_CAMELLIA_CTR_PARAMS;

typedef CK_CAMELLIA_CTR_PARAMS CK_PTR CK_CAMELLIA_CTR_PARAMS_PTR;

typedef struct CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS {
    CK_BYTE           iv[16];
    CK_BYTE_PTR       pData;
    CK_ULONG          length;
} CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS;

typedef CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS CK_PTR \
                                CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS_PTR;

typedef struct CK_ARIA_CBC_ENCRYPT_DATA_PARAMS {
    CK_BYTE           iv[16];
    CK_BYTE_PTR       pData;
    CK_ULONG          length;
} CK_ARIA_CBC_ENCRYPT_DATA_PARAMS;

typedef CK_ARIA_CBC_ENCRYPT_DATA_PARAMS CK_PTR \
                                CK_ARIA_CBC_ENCRYPT_DATA_PARAMS_PTR;

typedef struct CK_DSA_PARAMETER_GEN_PARAM {
    CK_MECHANISM_TYPE  hash;
    CK_BYTE_PTR        pSeed;
    CK_ULONG           ulSeedLen;
    CK_ULONG           ulIndex;
} CK_DSA_PARAMETER_GEN_PARAM;

typedef CK_DSA_PARAMETER_GEN_PARAM CK_PTR CK_DSA_PARAMETER_GEN_PARAM_PTR;

include/pkcs11t.h  view on Meta::CPAN

typedef struct CK_GOSTR3410_KEY_WRAP_PARAMS {
    CK_BYTE_PTR               pWrapOID;
    CK_ULONG                  ulWrapOIDLen;
    CK_BYTE_PTR               pUKM;
    CK_ULONG                  ulUKMLen;
    CK_OBJECT_HANDLE          hKey;
} CK_GOSTR3410_KEY_WRAP_PARAMS;

typedef CK_GOSTR3410_KEY_WRAP_PARAMS CK_PTR CK_GOSTR3410_KEY_WRAP_PARAMS_PTR;

typedef struct CK_SEED_CBC_ENCRYPT_DATA_PARAMS {
    CK_BYTE                   iv[16];
    CK_BYTE_PTR               pData;
    CK_ULONG                  length;
} CK_SEED_CBC_ENCRYPT_DATA_PARAMS;

typedef CK_SEED_CBC_ENCRYPT_DATA_PARAMS CK_PTR \
                                        CK_SEED_CBC_ENCRYPT_DATA_PARAMS_PTR;

/*
 * New PKCS 11 v3.0 data structures.
 */

typedef CK_ULONG CK_PROFILE_ID;
typedef CK_PROFILE_ID CK_PTR CK_PROFILE_ID_PTR;

/* Typedefs for Flexible KDF */
typedef CK_ULONG CK_PRF_DATA_TYPE;

lib/Crypt/HSM.xs  view on Meta::CPAN

	{ STR_WITH_LEN("sha3-256-rsa-pkcs"), CKM_SHA3_256_RSA_PKCS },
	{ STR_WITH_LEN("sha3-384-rsa-pkcs"), CKM_SHA3_384_RSA_PKCS },
	{ STR_WITH_LEN("sha3-512-rsa-pkcs"), CKM_SHA3_512_RSA_PKCS },
	{ STR_WITH_LEN("sha3-256-rsa-pkcs-pss"), CKM_SHA3_256_RSA_PKCS_PSS },
	{ STR_WITH_LEN("sha3-384-rsa-pkcs-pss"), CKM_SHA3_384_RSA_PKCS_PSS },
	{ STR_WITH_LEN("sha3-512-rsa-pkcs-pss"), CKM_SHA3_512_RSA_PKCS_PSS },
	{ STR_WITH_LEN("sha3-224-rsa-pkcs"), CKM_SHA3_224_RSA_PKCS },
	{ STR_WITH_LEN("sha3-224-rsa-pkcs-pss"), CKM_SHA3_224_RSA_PKCS_PSS },
	{ STR_WITH_LEN("rc2-key-gen"), CKM_RC2_KEY_GEN },
	{ STR_WITH_LEN("rc2-ecb"), CKM_RC2_ECB },
	{ STR_WITH_LEN("rc2-cbc"), CKM_RC2_CBC },
	{ STR_WITH_LEN("rc2-mac"), CKM_RC2_MAC },
	{ STR_WITH_LEN("rc2-mac-general"), CKM_RC2_MAC_GENERAL },
	{ STR_WITH_LEN("rc2-cbc-pad"), CKM_RC2_CBC_PAD },
	{ STR_WITH_LEN("rc4-key-gen"), CKM_RC4_KEY_GEN },
	{ STR_WITH_LEN("rc4"), CKM_RC4 },
	{ STR_WITH_LEN("des-key-gen"), CKM_DES_KEY_GEN },
	{ STR_WITH_LEN("des-ecb"), CKM_DES_ECB },
	{ STR_WITH_LEN("des-cbc"), CKM_DES_CBC },
	{ STR_WITH_LEN("des-mac"), CKM_DES_MAC },
	{ STR_WITH_LEN("des-mac-general"), CKM_DES_MAC_GENERAL },
	{ STR_WITH_LEN("des-cbc-pad"), CKM_DES_CBC_PAD },
	{ STR_WITH_LEN("des2-key-gen"), CKM_DES2_KEY_GEN },
	{ STR_WITH_LEN("des3-key-gen"), CKM_DES3_KEY_GEN },
	{ STR_WITH_LEN("des3-ecb"), CKM_DES3_ECB },
	{ STR_WITH_LEN("des3-cbc"), CKM_DES3_CBC },
	{ STR_WITH_LEN("des3-mac"), CKM_DES3_MAC },
	{ STR_WITH_LEN("des3-mac-general"), CKM_DES3_MAC_GENERAL },
	{ STR_WITH_LEN("des3-cbc-pad"), CKM_DES3_CBC_PAD },
	{ STR_WITH_LEN("des3-cmac-general"), CKM_DES3_CMAC_GENERAL },
	{ STR_WITH_LEN("des3-cmac"), CKM_DES3_CMAC },
	{ STR_WITH_LEN("cdmf-key-gen"), CKM_CDMF_KEY_GEN },
	{ STR_WITH_LEN("cdmf-ecb"), CKM_CDMF_ECB },
	{ STR_WITH_LEN("cdmf-cbc"), CKM_CDMF_CBC },
	{ STR_WITH_LEN("cdmf-mac"), CKM_CDMF_MAC },
	{ STR_WITH_LEN("cdmf-mac-general"), CKM_CDMF_MAC_GENERAL },
	{ STR_WITH_LEN("cdmf-cbc-pad"), CKM_CDMF_CBC_PAD },
	{ STR_WITH_LEN("des-ofb64"), CKM_DES_OFB64 },
	{ STR_WITH_LEN("des-ofb8"), CKM_DES_OFB8 },
	{ STR_WITH_LEN("des-cfb64"), CKM_DES_CFB64 },
	{ STR_WITH_LEN("des-cfb8"), CKM_DES_CFB8 },
	{ STR_WITH_LEN("md2"), CKM_MD2 },
	{ STR_WITH_LEN("md2-hmac"), CKM_MD2_HMAC },
	{ STR_WITH_LEN("md2-hmac-general"), CKM_MD2_HMAC_GENERAL },
	{ STR_WITH_LEN("md5"), CKM_MD5 },
	{ STR_WITH_LEN("md5-hmac"), CKM_MD5_HMAC },
	{ STR_WITH_LEN("md5-hmac-general"), CKM_MD5_HMAC_GENERAL },

lib/Crypt/HSM.xs  view on Meta::CPAN

	{ STR_WITH_LEN("sha3-384"), CKM_SHA3_384 },
	{ STR_WITH_LEN("sha3-384-hmac"), CKM_SHA3_384_HMAC },
	{ STR_WITH_LEN("sha3-384-hmac-general"), CKM_SHA3_384_HMAC_GENERAL },
	{ STR_WITH_LEN("sha3-384-key-gen"), CKM_SHA3_384_KEY_GEN },
	{ STR_WITH_LEN("sha3-512"), CKM_SHA3_512 },
	{ STR_WITH_LEN("sha3-512-hmac"), CKM_SHA3_512_HMAC },
	{ STR_WITH_LEN("sha3-512-hmac-general"), CKM_SHA3_512_HMAC_GENERAL },
	{ STR_WITH_LEN("sha3-512-key-gen"), CKM_SHA3_512_KEY_GEN },
	{ STR_WITH_LEN("cast-key-gen"), CKM_CAST_KEY_GEN },
	{ STR_WITH_LEN("cast-ecb"), CKM_CAST_ECB },
	{ STR_WITH_LEN("cast-cbc"), CKM_CAST_CBC },
	{ STR_WITH_LEN("cast-mac"), CKM_CAST_MAC },
	{ STR_WITH_LEN("cast-mac-general"), CKM_CAST_MAC_GENERAL },
	{ STR_WITH_LEN("cast-cbc-pad"), CKM_CAST_CBC_PAD },
	{ STR_WITH_LEN("cast3-key-gen"), CKM_CAST3_KEY_GEN },
	{ STR_WITH_LEN("cast3-ecb"), CKM_CAST3_ECB },
	{ STR_WITH_LEN("cast3-cbc"), CKM_CAST3_CBC },
	{ STR_WITH_LEN("cast3-mac"), CKM_CAST3_MAC },
	{ STR_WITH_LEN("cast3-mac-general"), CKM_CAST3_MAC_GENERAL },
	{ STR_WITH_LEN("cast3-cbc-pad"), CKM_CAST3_CBC_PAD },
	{ STR_WITH_LEN("cast128-key-gen"), CKM_CAST128_KEY_GEN },
	{ STR_WITH_LEN("cast5-key-gen"), CKM_CAST5_KEY_GEN },
	{ STR_WITH_LEN("cast128-ecb"), CKM_CAST128_ECB },
	{ STR_WITH_LEN("cast5-ecb"), CKM_CAST5_ECB },
	{ STR_WITH_LEN("cast128-cbc"), CKM_CAST128_CBC },
	{ STR_WITH_LEN("cast5-cbc"), CKM_CAST5_CBC },
	{ STR_WITH_LEN("cast128-mac"), CKM_CAST128_MAC },
	{ STR_WITH_LEN("cast5-mac"), CKM_CAST5_MAC },
	{ STR_WITH_LEN("cast128-mac-general"), CKM_CAST128_MAC_GENERAL },
	{ STR_WITH_LEN("cast5-mac-general"), CKM_CAST5_MAC_GENERAL },
	{ STR_WITH_LEN("cast128-cbc-pad"), CKM_CAST128_CBC_PAD },
	{ STR_WITH_LEN("cast5-cbc-pad"), CKM_CAST5_CBC_PAD },
	{ STR_WITH_LEN("rc5-key-gen"), CKM_RC5_KEY_GEN },
	{ STR_WITH_LEN("rc5-ecb"), CKM_RC5_ECB },
	{ STR_WITH_LEN("rc5-cbc"), CKM_RC5_CBC },
	{ STR_WITH_LEN("rc5-mac"), CKM_RC5_MAC },
	{ STR_WITH_LEN("rc5-mac-general"), CKM_RC5_MAC_GENERAL },
	{ STR_WITH_LEN("rc5-cbc-pad"), CKM_RC5_CBC_PAD },
	{ STR_WITH_LEN("idea-key-gen"), CKM_IDEA_KEY_GEN },
	{ STR_WITH_LEN("idea-ecb"), CKM_IDEA_ECB },
	{ STR_WITH_LEN("idea-cbc"), CKM_IDEA_CBC },
	{ STR_WITH_LEN("idea-mac"), CKM_IDEA_MAC },
	{ STR_WITH_LEN("idea-mac-general"), CKM_IDEA_MAC_GENERAL },
	{ STR_WITH_LEN("idea-cbc-pad"), CKM_IDEA_CBC_PAD },
	{ STR_WITH_LEN("generic-secret-key-gen"), CKM_GENERIC_SECRET_KEY_GEN },
	{ STR_WITH_LEN("concatenate-base-and-key"), CKM_CONCATENATE_BASE_AND_KEY },
	{ STR_WITH_LEN("concatenate-base-and-data"), CKM_CONCATENATE_BASE_AND_DATA },
	{ STR_WITH_LEN("concatenate-data-and-base"), CKM_CONCATENATE_DATA_AND_BASE },
	{ STR_WITH_LEN("xor-base-and-data"), CKM_XOR_BASE_AND_DATA },
	{ STR_WITH_LEN("extract-key-from-key"), CKM_EXTRACT_KEY_FROM_KEY },
	{ STR_WITH_LEN("ssl3-pre-master-key-gen"), CKM_SSL3_PRE_MASTER_KEY_GEN },
	{ STR_WITH_LEN("ssl3-master-key-derive"), CKM_SSL3_MASTER_KEY_DERIVE },
	{ STR_WITH_LEN("ssl3-key-and-mac-derive"), CKM_SSL3_KEY_AND_MAC_DERIVE },
	{ STR_WITH_LEN("ssl3-master-key-derive-dh"), CKM_SSL3_MASTER_KEY_DERIVE_DH },

lib/Crypt/HSM.xs  view on Meta::CPAN

	{ STR_WITH_LEN("sha3-384-key-derivation"), CKM_SHA3_384_KEY_DERIVATION },
	{ STR_WITH_LEN("sha3-512-key-derivation"), CKM_SHA3_512_KEY_DERIVATION },
	{ STR_WITH_LEN("shake-128-key-derivation"), CKM_SHAKE_128_KEY_DERIVATION },
	{ STR_WITH_LEN("shake-256-key-derivation"), CKM_SHAKE_256_KEY_DERIVATION },
	{ STR_WITH_LEN("sha3-256-key-derive"), CKM_SHA3_256_KEY_DERIVE },
	{ STR_WITH_LEN("sha3-224-key-derive"), CKM_SHA3_224_KEY_DERIVE },
	{ STR_WITH_LEN("sha3-384-key-derive"), CKM_SHA3_384_KEY_DERIVE },
	{ STR_WITH_LEN("sha3-512-key-derive"), CKM_SHA3_512_KEY_DERIVE },
	{ STR_WITH_LEN("shake-128-key-derive"), CKM_SHAKE_128_KEY_DERIVE },
	{ STR_WITH_LEN("shake-256-key-derive"), CKM_SHAKE_256_KEY_DERIVE },
	{ STR_WITH_LEN("pbe-md2-des-cbc"), CKM_PBE_MD2_DES_CBC },
	{ STR_WITH_LEN("pbe-md5-des-cbc"), CKM_PBE_MD5_DES_CBC },
	{ STR_WITH_LEN("pbe-md5-cast-cbc"), CKM_PBE_MD5_CAST_CBC },
	{ STR_WITH_LEN("pbe-md5-cast3-cbc"), CKM_PBE_MD5_CAST3_CBC },
	{ STR_WITH_LEN("pbe-md5-cast128-cbc"), CKM_PBE_MD5_CAST128_CBC },
	{ STR_WITH_LEN("pbe-md5-cast5-cbc"), CKM_PBE_MD5_CAST5_CBC },
	{ STR_WITH_LEN("pbe-sha1-cast128-cbc"), CKM_PBE_SHA1_CAST128_CBC },
	{ STR_WITH_LEN("pbe-sha1-cast5-cbc"), CKM_PBE_SHA1_CAST5_CBC },
	{ STR_WITH_LEN("pbe-sha1-rc4-128"), CKM_PBE_SHA1_RC4_128 },
	{ STR_WITH_LEN("pbe-sha1-rc4-40"), CKM_PBE_SHA1_RC4_40 },
	{ STR_WITH_LEN("pbe-sha1-des3-ede-cbc"), CKM_PBE_SHA1_DES3_EDE_CBC },
	{ STR_WITH_LEN("pbe-sha1-des2-ede-cbc"), CKM_PBE_SHA1_DES2_EDE_CBC },
	{ STR_WITH_LEN("pbe-sha1-rc2-128-cbc"), CKM_PBE_SHA1_RC2_128_CBC },
	{ STR_WITH_LEN("pbe-sha1-rc2-40-cbc"), CKM_PBE_SHA1_RC2_40_CBC },
	{ STR_WITH_LEN("pkcs5-pbkd2"), CKM_PKCS5_PBKD2 },
	{ STR_WITH_LEN("pba-sha1-with-sha1-hmac"), CKM_PBA_SHA1_WITH_SHA1_HMAC },
	{ STR_WITH_LEN("wtls-pre-master-key-gen"), CKM_WTLS_PRE_MASTER_KEY_GEN },
	{ STR_WITH_LEN("wtls-master-key-derive"), CKM_WTLS_MASTER_KEY_DERIVE },
	{ STR_WITH_LEN("wtls-master-key-derive-dh-ecc"), CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC },
	{ STR_WITH_LEN("wtls-prf"), CKM_WTLS_PRF },
	{ STR_WITH_LEN("wtls-server-key-and-mac-derive"), CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE },
	{ STR_WITH_LEN("wtls-client-key-and-mac-derive"), CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE },
	{ STR_WITH_LEN("tls10-mac-server"), CKM_TLS10_MAC_SERVER },
	{ STR_WITH_LEN("tls10-mac-client"), CKM_TLS10_MAC_CLIENT },

lib/Crypt/HSM.xs  view on Meta::CPAN

	{ STR_WITH_LEN("tls-mac"), CKM_TLS_MAC },
	{ STR_WITH_LEN("tls-kdf"), CKM_TLS_KDF },
	{ STR_WITH_LEN("key-wrap-lynks"), CKM_KEY_WRAP_LYNKS },
	{ STR_WITH_LEN("key-wrap-set-oaep"), CKM_KEY_WRAP_SET_OAEP },
	{ STR_WITH_LEN("cms-sig"), CKM_CMS_SIG },
	{ STR_WITH_LEN("kip-derive"), CKM_KIP_DERIVE },
	{ STR_WITH_LEN("kip-wrap"), CKM_KIP_WRAP },
	{ STR_WITH_LEN("kip-mac"), CKM_KIP_MAC },
	{ STR_WITH_LEN("camellia-key-gen"), CKM_CAMELLIA_KEY_GEN },
	{ STR_WITH_LEN("camellia-ecb"), CKM_CAMELLIA_ECB },
	{ STR_WITH_LEN("camellia-cbc"), CKM_CAMELLIA_CBC },
	{ STR_WITH_LEN("camellia-mac"), CKM_CAMELLIA_MAC },
	{ STR_WITH_LEN("camellia-mac-general"), CKM_CAMELLIA_MAC_GENERAL },
	{ STR_WITH_LEN("camellia-cbc-pad"), CKM_CAMELLIA_CBC_PAD },
	{ STR_WITH_LEN("camellia-ecb-encrypt-data"), CKM_CAMELLIA_ECB_ENCRYPT_DATA },
	{ STR_WITH_LEN("camellia-cbc-encrypt-data"), CKM_CAMELLIA_CBC_ENCRYPT_DATA },
	{ STR_WITH_LEN("camellia-ctr"), CKM_CAMELLIA_CTR },
	{ STR_WITH_LEN("aria-key-gen"), CKM_ARIA_KEY_GEN },
	{ STR_WITH_LEN("aria-ecb"), CKM_ARIA_ECB },
	{ STR_WITH_LEN("aria-cbc"), CKM_ARIA_CBC },
	{ STR_WITH_LEN("aria-mac"), CKM_ARIA_MAC },
	{ STR_WITH_LEN("aria-mac-general"), CKM_ARIA_MAC_GENERAL },
	{ STR_WITH_LEN("aria-cbc-pad"), CKM_ARIA_CBC_PAD },
	{ STR_WITH_LEN("aria-ecb-encrypt-data"), CKM_ARIA_ECB_ENCRYPT_DATA },
	{ STR_WITH_LEN("aria-cbc-encrypt-data"), CKM_ARIA_CBC_ENCRYPT_DATA },
	{ STR_WITH_LEN("seed-key-gen"), CKM_SEED_KEY_GEN },
	{ STR_WITH_LEN("seed-ecb"), CKM_SEED_ECB },
	{ STR_WITH_LEN("seed-cbc"), CKM_SEED_CBC },
	{ STR_WITH_LEN("seed-mac"), CKM_SEED_MAC },
	{ STR_WITH_LEN("seed-mac-general"), CKM_SEED_MAC_GENERAL },
	{ STR_WITH_LEN("seed-cbc-pad"), CKM_SEED_CBC_PAD },
	{ STR_WITH_LEN("seed-ecb-encrypt-data"), CKM_SEED_ECB_ENCRYPT_DATA },
	{ STR_WITH_LEN("seed-cbc-encrypt-data"), CKM_SEED_CBC_ENCRYPT_DATA },
	{ STR_WITH_LEN("skipjack-key-gen"), CKM_SKIPJACK_KEY_GEN },
	{ STR_WITH_LEN("skipjack-ecb64"), CKM_SKIPJACK_ECB64 },
	{ STR_WITH_LEN("skipjack-cbc64"), CKM_SKIPJACK_CBC64 },
	{ STR_WITH_LEN("skipjack-ofb64"), CKM_SKIPJACK_OFB64 },
	{ STR_WITH_LEN("skipjack-cfb64"), CKM_SKIPJACK_CFB64 },
	{ STR_WITH_LEN("skipjack-cfb32"), CKM_SKIPJACK_CFB32 },
	{ STR_WITH_LEN("skipjack-cfb16"), CKM_SKIPJACK_CFB16 },
	{ STR_WITH_LEN("skipjack-cfb8"), CKM_SKIPJACK_CFB8 },
	{ STR_WITH_LEN("skipjack-wrap"), CKM_SKIPJACK_WRAP },
	{ STR_WITH_LEN("skipjack-private-wrap"), CKM_SKIPJACK_PRIVATE_WRAP },
	{ STR_WITH_LEN("skipjack-relayx"), CKM_SKIPJACK_RELAYX },
	{ STR_WITH_LEN("kea-key-pair-gen"), CKM_KEA_KEY_PAIR_GEN },
	{ STR_WITH_LEN("kea-key-derive"), CKM_KEA_KEY_DERIVE },
	{ STR_WITH_LEN("kea-derive"), CKM_KEA_DERIVE },
	{ STR_WITH_LEN("fortezza-timestamp"), CKM_FORTEZZA_TIMESTAMP },
	{ STR_WITH_LEN("baton-key-gen"), CKM_BATON_KEY_GEN },
	{ STR_WITH_LEN("baton-ecb128"), CKM_BATON_ECB128 },
	{ STR_WITH_LEN("baton-ecb96"), CKM_BATON_ECB96 },
	{ STR_WITH_LEN("baton-cbc128"), CKM_BATON_CBC128 },
	{ STR_WITH_LEN("baton-counter"), CKM_BATON_COUNTER },
	{ STR_WITH_LEN("baton-shuffle"), CKM_BATON_SHUFFLE },
	{ STR_WITH_LEN("baton-wrap"), CKM_BATON_WRAP },
	{ STR_WITH_LEN("ec-key-pair-gen"), CKM_EC_KEY_PAIR_GEN },
	{ STR_WITH_LEN("ecdsa-key-pair-gen"), CKM_ECDSA_KEY_PAIR_GEN },
	{ STR_WITH_LEN("ecdsa"), CKM_ECDSA },
	{ STR_WITH_LEN("ecdsa-sha1"), CKM_ECDSA_SHA1 },
	{ STR_WITH_LEN("ecdsa-sha224"), CKM_ECDSA_SHA224 },
	{ STR_WITH_LEN("ecdsa-sha256"), CKM_ECDSA_SHA256 },
	{ STR_WITH_LEN("ecdsa-sha384"), CKM_ECDSA_SHA384 },
	{ STR_WITH_LEN("ecdsa-sha512"), CKM_ECDSA_SHA512 },
	{ STR_WITH_LEN("ec-key-pair-gen-w-extra-bits"), CKM_EC_KEY_PAIR_GEN_W_EXTRA_BITS },
	{ STR_WITH_LEN("ecdh1-derive"), CKM_ECDH1_DERIVE },
	{ STR_WITH_LEN("ecdh1-cofactor-derive"), CKM_ECDH1_COFACTOR_DERIVE },
	{ STR_WITH_LEN("ecmqv-derive"), CKM_ECMQV_DERIVE },
	{ STR_WITH_LEN("ecdh-aes-key-wrap"), CKM_ECDH_AES_KEY_WRAP },
	{ STR_WITH_LEN("rsa-aes-key-wrap"), CKM_RSA_AES_KEY_WRAP },
	{ STR_WITH_LEN("juniper-key-gen"), CKM_JUNIPER_KEY_GEN },
	{ STR_WITH_LEN("juniper-ecb128"), CKM_JUNIPER_ECB128 },
	{ STR_WITH_LEN("juniper-cbc128"), CKM_JUNIPER_CBC128 },
	{ STR_WITH_LEN("juniper-counter"), CKM_JUNIPER_COUNTER },
	{ STR_WITH_LEN("juniper-shuffle"), CKM_JUNIPER_SHUFFLE },
	{ STR_WITH_LEN("juniper-wrap"), CKM_JUNIPER_WRAP },
	{ STR_WITH_LEN("fasthash"), CKM_FASTHASH },
	{ STR_WITH_LEN("aes-xts"), CKM_AES_XTS },
	{ STR_WITH_LEN("aes-xts-key-gen"), CKM_AES_XTS_KEY_GEN },
	{ STR_WITH_LEN("aes-key-gen"), CKM_AES_KEY_GEN },
	{ STR_WITH_LEN("aes-ecb"), CKM_AES_ECB },
	{ STR_WITH_LEN("aes-cbc"), CKM_AES_CBC },
	{ STR_WITH_LEN("aes-mac"), CKM_AES_MAC },
	{ STR_WITH_LEN("aes-mac-general"), CKM_AES_MAC_GENERAL },
	{ STR_WITH_LEN("aes-cbc-pad"), CKM_AES_CBC_PAD },
	{ STR_WITH_LEN("aes-ctr"), CKM_AES_CTR },
	{ STR_WITH_LEN("aes-gcm"), CKM_AES_GCM },
	{ STR_WITH_LEN("aes-ccm"), CKM_AES_CCM },
	{ STR_WITH_LEN("aes-cts"), CKM_AES_CTS },
	{ STR_WITH_LEN("aes-cmac"), CKM_AES_CMAC },
	{ STR_WITH_LEN("aes-cmac-general"), CKM_AES_CMAC_GENERAL },
	{ STR_WITH_LEN("aes-xcbc-mac"), CKM_AES_XCBC_MAC },
	{ STR_WITH_LEN("aes-xcbc-mac-96"), CKM_AES_XCBC_MAC_96 },
	{ STR_WITH_LEN("aes-gmac"), CKM_AES_GMAC },
	{ STR_WITH_LEN("blowfish-key-gen"), CKM_BLOWFISH_KEY_GEN },
	{ STR_WITH_LEN("blowfish-cbc"), CKM_BLOWFISH_CBC },
	{ STR_WITH_LEN("twofish-key-gen"), CKM_TWOFISH_KEY_GEN },
	{ STR_WITH_LEN("twofish-cbc"), CKM_TWOFISH_CBC },
	{ STR_WITH_LEN("blowfish-cbc-pad"), CKM_BLOWFISH_CBC_PAD },
	{ STR_WITH_LEN("twofish-cbc-pad"), CKM_TWOFISH_CBC_PAD },
	{ STR_WITH_LEN("des-ecb-encrypt-data"), CKM_DES_ECB_ENCRYPT_DATA },
	{ STR_WITH_LEN("des-cbc-encrypt-data"), CKM_DES_CBC_ENCRYPT_DATA },
	{ STR_WITH_LEN("des3-ecb-encrypt-data"), CKM_DES3_ECB_ENCRYPT_DATA },
	{ STR_WITH_LEN("des3-cbc-encrypt-data"), CKM_DES3_CBC_ENCRYPT_DATA },
	{ STR_WITH_LEN("aes-ecb-encrypt-data"), CKM_AES_ECB_ENCRYPT_DATA },
	{ STR_WITH_LEN("aes-cbc-encrypt-data"), CKM_AES_CBC_ENCRYPT_DATA },
	{ STR_WITH_LEN("gostr3410-key-pair-gen"), CKM_GOSTR3410_KEY_PAIR_GEN },
	{ STR_WITH_LEN("gostr3410"), CKM_GOSTR3410 },
	{ STR_WITH_LEN("gostr3410-with-gostr3411"), CKM_GOSTR3410_WITH_GOSTR3411 },
	{ STR_WITH_LEN("gostr3410-key-wrap"), CKM_GOSTR3410_KEY_WRAP },
	{ STR_WITH_LEN("gostr3410-derive"), CKM_GOSTR3410_DERIVE },
	{ STR_WITH_LEN("gostr3411"), CKM_GOSTR3411 },
	{ STR_WITH_LEN("gostr3411-hmac"), CKM_GOSTR3411_HMAC },
	{ STR_WITH_LEN("gost28147-key-gen"), CKM_GOST28147_KEY_GEN },
	{ STR_WITH_LEN("gost28147-ecb"), CKM_GOST28147_ECB },
	{ STR_WITH_LEN("gost28147"), CKM_GOST28147 },

lib/Crypt/HSM.xs  view on Meta::CPAN


static CK_MECHANISM S_specialize_mechanism(pTHX_ CK_MECHANISM_TYPE type, SV** array, ssize_t array_len) {
	CK_MECHANISM result = { type, NULL, 0 };

	switch (type) {
		case CKM_DES_ECB:
		case CKM_DES3_ECB:
		case CKM_AES_ECB:
			break;

		case CKM_DES_CBC:
		case CKM_DES_CBC_PAD:
		case CKM_DES3_CBC:
		case CKM_DES3_CBC_PAD:
		case CKM_AES_CBC:
		case CKM_AES_CBC_PAD:

		case CKM_DES_CFB8:
		case CKM_DES_CFB64:
		case CKM_DES_OFB8:
		case CKM_DES_OFB64:
		case CKM_AES_CFB8:
		case CKM_AES_CFB128:
		case CKM_AES_OFB:
			if (array_len < 1)
				croak("No IV given for cipher needing it");

lib/Crypt/HSM.xs  view on Meta::CPAN

			if (array_len < 1)
				croak("Insufficient parameters for derivation");

			INIT_PARAMS(CK_OBJECT_HANDLE);

			*params = (CK_ULONG)SvUV(array[0]);

			break;
		}

		case CKM_DES_CBC_ENCRYPT_DATA:
		case CKM_DES3_CBC_ENCRYPT_DATA: {
			if (array_len < 2)
				croak("Insufficient parameters for derivation");

			INIT_PARAMS(CK_DES_CBC_ENCRYPT_DATA_PARAMS);

			params->pData = get_buffer(array[0], &params->length);
			STRLEN length;
			const char* iv = SvPVbyte(array[1], length);
			memcpy(params->iv, iv, MIN(sizeof params->iv, length));

			break;
		}

		case CKM_AES_CBC_ENCRYPT_DATA: {
			if (array_len < 2)
				croak("Insufficient parameters for derivation");

			INIT_PARAMS(CK_AES_CBC_ENCRYPT_DATA_PARAMS);

			params->pData = get_buffer(array[0], &params->length);
			STRLEN length;
			const char* iv = SvPVbyte(array[1], length);
			memcpy(params->iv, iv, MIN(sizeof params->iv, length));

			break;
		}

		case CKM_AES_KEY_WRAP:



( run in 0.949 second using v1.01-cache-2.11-cpan-df04353d9ac )