use explict field names in the static initialisation to make it more

robust to code change


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4195 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
ludovic.rousseau 2010-04-02 11:43:09 +00:00
parent 5957c7a880
commit ad1dddabf3
1 changed files with 126 additions and 56 deletions

View File

@ -32,84 +32,154 @@ static CK_RV sc_pkcs11_openssl_md_final(sc_pkcs11_operation_t *,
static void sc_pkcs11_openssl_md_release(sc_pkcs11_operation_t *);
static sc_pkcs11_mechanism_type_t openssl_sha1_mech = {
CKM_SHA_1,
{ 0, 0, CKF_DIGEST }, 0,
sizeof(struct sc_pkcs11_operation),
sc_pkcs11_openssl_md_release,
sc_pkcs11_openssl_md_init,
sc_pkcs11_openssl_md_update,
sc_pkcs11_openssl_md_final,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
.mech = CKM_SHA_1,
.mech_info = { 0, 0, CKF_DIGEST },
.key_type = 0,
.obj_size = sizeof(struct sc_pkcs11_operation),
.release = sc_pkcs11_openssl_md_release,
.md_init = sc_pkcs11_openssl_md_init,
.md_update = sc_pkcs11_openssl_md_update,
.md_final = sc_pkcs11_openssl_md_final,
.sign_init = NULL,
.sign_update = NULL,
.sign_final = NULL,
.sign_size = NULL,
.verif_init = NULL,
.verif_update = NULL,
.verif_final = NULL,
.decrypt_init = NULL,
.decrypt = NULL,
.mech_data = NULL
};
#if OPENSSL_VERSION_NUMBER >= 0x00908000L
static sc_pkcs11_mechanism_type_t openssl_sha256_mech = {
CKM_SHA256,
{ 0, 0, CKF_DIGEST }, 0,
sizeof(struct sc_pkcs11_operation),
sc_pkcs11_openssl_md_release,
sc_pkcs11_openssl_md_init,
sc_pkcs11_openssl_md_update,
sc_pkcs11_openssl_md_final,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
.mech = CKM_SHA256,
.mech_info = { 0, 0, CKF_DIGEST },
.key_type = 0,
.obj_size = sizeof(struct sc_pkcs11_operation),
.release = sc_pkcs11_openssl_md_release,
.md_init = sc_pkcs11_openssl_md_init,
.md_update = sc_pkcs11_openssl_md_update,
.md_final = sc_pkcs11_openssl_md_final,
.sign_init = NULL,
.sign_update = NULL,
.sign_final = NULL,
.sign_size = NULL,
.verif_init = NULL,
.verif_update = NULL,
.verif_final = NULL,
.decrypt_init = NULL,
.decrypt = NULL,
.mech_data = NULL
};
static sc_pkcs11_mechanism_type_t openssl_sha384_mech = {
CKM_SHA384,
{ 0, 0, CKF_DIGEST }, 0,
sizeof(struct sc_pkcs11_operation),
sc_pkcs11_openssl_md_release,
sc_pkcs11_openssl_md_init,
sc_pkcs11_openssl_md_update,
sc_pkcs11_openssl_md_final,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
.mech = CKM_SHA384,
.mech_info = { 0, 0, CKF_DIGEST },
.key_type = 0,
.obj_size = sizeof(struct sc_pkcs11_operation),
.release = sc_pkcs11_openssl_md_release,
.md_init = sc_pkcs11_openssl_md_init,
.md_update = sc_pkcs11_openssl_md_update,
.md_final = sc_pkcs11_openssl_md_final,
.sign_init = NULL,
.sign_update = NULL,
.sign_final = NULL,
.sign_size = NULL,
.verif_init = NULL,
.verif_update = NULL,
.verif_final = NULL,
.decrypt_init = NULL,
.decrypt = NULL,
.mech_data = NULL
};
static sc_pkcs11_mechanism_type_t openssl_sha512_mech = {
CKM_SHA512,
{ 0, 0, CKF_DIGEST }, 0,
sizeof(struct sc_pkcs11_operation),
sc_pkcs11_openssl_md_release,
sc_pkcs11_openssl_md_init,
sc_pkcs11_openssl_md_update,
sc_pkcs11_openssl_md_final,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
.mech = CKM_SHA512,
.mech_info = { 0, 0, CKF_DIGEST },
.key_type = 0,
.obj_size = sizeof(struct sc_pkcs11_operation),
.release = sc_pkcs11_openssl_md_release,
.md_init = sc_pkcs11_openssl_md_init,
.md_update = sc_pkcs11_openssl_md_update,
.md_final = sc_pkcs11_openssl_md_final,
.sign_init = NULL,
.sign_update = NULL,
.sign_final = NULL,
.sign_size = NULL,
.verif_init = NULL,
.verif_update = NULL,
.verif_final = NULL,
.decrypt_init = NULL,
.decrypt = NULL,
.mech_data = NULL
};
#endif
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
static sc_pkcs11_mechanism_type_t openssl_gostr3411_mech = {
CKM_GOSTR3411,
{ 0, 0, CKF_DIGEST }, 0,
sizeof(struct sc_pkcs11_operation),
sc_pkcs11_openssl_md_release,
sc_pkcs11_openssl_md_init,
sc_pkcs11_openssl_md_update,
sc_pkcs11_openssl_md_final,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
.mech = CKM_GOSTR3411,
.mech_info = { 0, 0, CKF_DIGEST },
.key_type = 0,
.obj_size = sizeof(struct sc_pkcs11_operation),
.release = sc_pkcs11_openssl_md_release,
.md_init = sc_pkcs11_openssl_md_init,
.md_update = sc_pkcs11_openssl_md_update,
.md_final = sc_pkcs11_openssl_md_final,
.sign_init = NULL,
.sign_update = NULL,
.sign_final = NULL,
.sign_size = NULL,
.verif_init = NULL,
.verif_update = NULL,
.verif_final = NULL,
.decrypt_init = NULL,
.decrypt = NULL,
.mech_data = NULL
};
#endif
static sc_pkcs11_mechanism_type_t openssl_md5_mech = {
CKM_MD5,
{ 0, 0, CKF_DIGEST }, 0,
sizeof(struct sc_pkcs11_operation),
sc_pkcs11_openssl_md_release,
sc_pkcs11_openssl_md_init,
sc_pkcs11_openssl_md_update,
sc_pkcs11_openssl_md_final,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
.mech = CKM_MD5,
.mech_info = { 0, 0, CKF_DIGEST },
.key_type = 0,
.obj_size = sizeof(struct sc_pkcs11_operation),
.release = sc_pkcs11_openssl_md_release,
.md_init = sc_pkcs11_openssl_md_init,
.md_update = sc_pkcs11_openssl_md_update,
.md_final = sc_pkcs11_openssl_md_final,
.sign_init = NULL,
.sign_update = NULL,
.sign_final = NULL,
.sign_size = NULL,
.verif_init = NULL,
.verif_update = NULL,
.verif_final = NULL,
.decrypt_init = NULL,
.decrypt = NULL,
.mech_data = NULL
};
static sc_pkcs11_mechanism_type_t openssl_ripemd160_mech = {
CKM_RIPEMD160,
{ 0, 0, CKF_DIGEST }, 0,
sizeof(struct sc_pkcs11_operation),
sc_pkcs11_openssl_md_release,
sc_pkcs11_openssl_md_init,
sc_pkcs11_openssl_md_update,
sc_pkcs11_openssl_md_final,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
.mech = CKM_RIPEMD160,
.mech_info = { 0, 0, CKF_DIGEST },
.key_type = 0,
.obj_size = sizeof(struct sc_pkcs11_operation),
.release = sc_pkcs11_openssl_md_release,
.md_init = sc_pkcs11_openssl_md_init,
.md_update = sc_pkcs11_openssl_md_update,
.md_final = sc_pkcs11_openssl_md_final,
.sign_init = NULL,
.sign_update = NULL,
.sign_final = NULL,
.sign_size = NULL,
.verif_init = NULL,
.verif_update = NULL,
.verif_final = NULL,
.decrypt_init = NULL,
.decrypt = NULL,
.mech_data = NULL
};
void