#include <isc/types.h>
#include <isc/util.h>
-#define WANT_ECC_CURVES
-#define WANT_ECX_CURVES
#include <pk11/constants.h>
#include <pk11/pk11.h>
#include <pk11/result.h>
static CK_BBOOL truevalue = TRUE;
static CK_BBOOL falsevalue = FALSE;
+/* Static arrays of data used for key template initialization */
+static CK_BYTE pk11_ecc_prime256v1[] = PK11_ECC_PRIME256V1;
+static CK_BYTE pk11_ecc_secp384r1[] = PK11_ECC_SECP384R1;
+static CK_BYTE pk11_ecx_ed25519[] = PK11_ECX_ED25519;
+static CK_BYTE pk11_ecx_ed448[] = PK11_ECX_ED448;
+
/* Key class: RSA, ECC, ECX, or unknown */
typedef enum { key_unknown, key_rsa, key_ecc, key_ecx } key_class_t;
#include <isc/string.h>
#include <isc/util.h>
-#define WANT_ECC_CURVES
#include <pk11/constants.h>
#include <pk11/internal.h>
#include <pk11/pk11.h>
#define SETCURVE() \
if (key->key_alg == DST_ALG_ECDSA256) { \
attr->pValue = isc_mem_get(key->mctx, \
- sizeof(pk11_ecc_prime256v1)); \
- \
- memmove(attr->pValue, pk11_ecc_prime256v1, \
- sizeof(pk11_ecc_prime256v1)); \
- attr->ulValueLen = sizeof(pk11_ecc_prime256v1); \
+ sizeof(PK11_ECC_PRIME256V1)); \
+ memmove(attr->pValue, PK11_ECC_PRIME256V1, \
+ sizeof(PK11_ECC_PRIME256V1)); \
+ attr->ulValueLen = sizeof(PK11_ECC_PRIME256V1); \
} else { \
attr->pValue = isc_mem_get(key->mctx, \
- sizeof(pk11_ecc_secp384r1)); \
+ sizeof(PK11_ECC_SECP384R1)); \
\
- memmove(attr->pValue, pk11_ecc_secp384r1, \
- sizeof(pk11_ecc_secp384r1)); \
- attr->ulValueLen = sizeof(pk11_ecc_secp384r1); \
+ memmove(attr->pValue, PK11_ECC_SECP384R1, \
+ sizeof(PK11_ECC_SECP384R1)); \
+ attr->ulValueLen = sizeof(PK11_ECC_SECP384R1); \
}
#define FREECURVE() \
attr->type = CKA_EC_PARAMS;
if (key->key_alg == DST_ALG_ECDSA256) {
attr->pValue = isc_mem_get(key->mctx,
- sizeof(pk11_ecc_prime256v1));
- memmove(attr->pValue, pk11_ecc_prime256v1,
- sizeof(pk11_ecc_prime256v1));
- attr->ulValueLen = sizeof(pk11_ecc_prime256v1);
+ sizeof(PK11_ECC_PRIME256V1));
+ memmove(attr->pValue, PK11_ECC_PRIME256V1,
+ sizeof(PK11_ECC_PRIME256V1));
+ attr->ulValueLen = sizeof(PK11_ECC_PRIME256V1);
} else {
attr->pValue = isc_mem_get(key->mctx,
- sizeof(pk11_ecc_secp384r1));
- memmove(attr->pValue, pk11_ecc_secp384r1,
- sizeof(pk11_ecc_secp384r1));
- attr->ulValueLen = sizeof(pk11_ecc_secp384r1);
- }
+ sizeof(PK11_ECC_SECP384R1));
+ memmove(attr->pValue, PK11_ECC_SECP384R1,
+ sizeof(PK11_ECC_SECP384R1));
+ attr->ulValueLen = sizeof(PK11_ECC_SECP384R1);
+ }
attr++;
attr->type = CKA_EC_POINT;
attr->pValue = isc_mem_get(key->mctx, len + 3);
#include <isc/string.h>
#include <isc/util.h>
-#define WANT_ECX_CURVES
#include <pk11/constants.h>
#include <pk11/internal.h>
#include <pk11/pk11.h>
#define SETCURVE() \
if (key->key_alg == DST_ALG_ED25519) { \
attr->pValue = isc_mem_get(key->mctx, \
- sizeof(pk11_ecx_ed25519)); \
- \
- memmove(attr->pValue, pk11_ecx_ed25519, \
- sizeof(pk11_ecx_ed25519)); \
- attr->ulValueLen = sizeof(pk11_ecx_ed25519); \
+ sizeof(PK11_ECX_ED25519)); \
+ memmove(attr->pValue, PK11_ECX_ED25519, \
+ sizeof(PK11_ECX_ED25519)); \
+ attr->ulValueLen = sizeof(PK11_ECX_ED25519); \
} else { \
- attr->pValue = isc_mem_get(key->mctx, sizeof(pk11_ecx_ed448)); \
- \
- memmove(attr->pValue, pk11_ecx_ed448, sizeof(pk11_ecx_ed448)); \
- attr->ulValueLen = sizeof(pk11_ecx_ed448); \
+ attr->pValue = isc_mem_get(key->mctx, sizeof(PK11_ECX_ED448)); \
+ memmove(attr->pValue, PK11_ECX_ED448, sizeof(PK11_ECX_ED448)); \
+ attr->ulValueLen = sizeof(PK11_ECX_ED448); \
}
#define FREECURVE() \
attr = ec->repr;
attr->type = CKA_EC_PARAMS;
if (key->key_alg == DST_ALG_ED25519) {
- attr->pValue = isc_mem_get(key->mctx, sizeof(pk11_ecx_ed25519));
- memmove(attr->pValue, pk11_ecx_ed25519,
- sizeof(pk11_ecx_ed25519));
- attr->ulValueLen = sizeof(pk11_ecx_ed25519);
+ attr->pValue = isc_mem_get(key->mctx, sizeof(PK11_ECX_ED25519));
+ memmove(attr->pValue, PK11_ECX_ED25519,
+ sizeof(PK11_ECX_ED25519));
+ attr->ulValueLen = sizeof(PK11_ECX_ED25519);
} else {
- attr->pValue = isc_mem_get(key->mctx, sizeof(pk11_ecx_ed448));
- memmove(attr->pValue, pk11_ecx_ed448, sizeof(pk11_ecx_ed448));
- attr->ulValueLen = sizeof(pk11_ecx_ed448);
+ attr->pValue = isc_mem_get(key->mctx, sizeof(PK11_ECX_ED448));
+ memmove(attr->pValue, PK11_ECX_ED448, sizeof(PK11_ECX_ED448));
+ attr->ulValueLen = sizeof(PK11_ECX_ED448);
}
-
attr++;
attr->type = CKA_EC_POINT;
attr->pValue = isc_mem_get(key->mctx, len);
* information regarding copyright ownership.
*/
-#ifndef PK11_CONSTANTS_H
-#define PK11_CONSTANTS_H 1
+#pragma once
-#include <pk11/pk11.h>
+#include <inttypes.h>
/*! \file pk11/constants.h */
/*%
* Static arrays of data used for key template initialization
*/
-#ifdef WANT_ECC_CURVES
-static CK_BYTE pk11_ecc_prime256v1[] = { 0x06, 0x08, 0x2a, 0x86, 0x48,
- 0xce, 0x3d, 0x03, 0x01, 0x07 };
-static CK_BYTE pk11_ecc_secp384r1[] = {
- 0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x22
-};
-#endif /* WANT_ECC_CURVES */
-
-#ifdef WANT_ECX_CURVES
-static CK_BYTE pk11_ecx_ed25519[] = { 0x06, 0x03, 0x2b, 0x65, 0x70 };
-static CK_BYTE pk11_ecx_ed448[] = { 0x06, 0x03, 0x2b, 0x65, 0x71 };
-#endif /* WANT_ECX_CURVES */
-
-#endif /* PK11_CONSTANTS_H */
+#define PK11_ECC_PRIME256V1 \
+ (uint8_t[]) { \
+ 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07 \
+ }
+#define PK11_ECC_SECP384R1 \
+ (uint8_t[]) { 0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x22 }
+#define PK11_ECX_ED25519 \
+ (uint8_t[]) { \
+ 0x13, 0xc, 'e', 'd', 'w', 'a', 'r', 'd', 's', '2', '5', '5', \
+ '1', '9' \
+ }
+#define PK11_ECX_ED448 \
+ (uint8_t[]) { \
+ 0x13, 0xa, 'e', 'd', 'w', 'a', 'r', 'd', 's', '4', '4', '8' \
+ }