Update error codes.
authorDr. Stephen Henson <steve@openssl.org>
Fri, 30 May 2008 17:07:18 +0000 (17:07 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Fri, 30 May 2008 17:07:18 +0000 (17:07 +0000)
engines/e_capi.c
engines/e_capi_err.c
engines/e_capi_err.h

index a30a12b2a6dc9b8c3d102d10c3ca44ba9e7132c7..445ec91af01256a7d79d3b03c39d03cdbb09a310 100644 (file)
@@ -827,35 +827,36 @@ static DSA_SIG *capi_dsa_do_sign(const unsigned char *digest, int dlen,
 
        if (!capi_key)
                {
-               CAPIerr(CAPI_F_CAPI_RSA_SIGN, CAPI_R_CANT_GET_KEY);
+               CAPIerr(CAPI_F_CAPI_DSA_DO_SIGN, CAPI_R_CANT_GET_KEY);
                return NULL;
                }
 
        if (dlen != 20)
                {
-               /* Invalid signature length */
+               CAPIerr(CAPI_F_CAPI_DSA_DO_SIGN, CAPI_R_INVALID_DIGEST_LENGTH);
+               return NULL;
                }
 
        /* Create the hash object */
        if(!CryptCreateHash(capi_key->hprov, CALG_SHA1, 0, 0, &hash)) {
-               CAPIerr(CAPI_F_CAPI_RSA_SIGN, CAPI_R_CANT_CREATE_HASH_OBJECT);
+               CAPIerr(CAPI_F_CAPI_DSA_DO_SIGN, CAPI_R_CANT_CREATE_HASH_OBJECT);
                capi_addlasterror();
                return NULL;
        }
 
        /* Set the hash value to the value passed */
        if(!CryptSetHashParam(hash, HP_HASHVAL, (unsigned char *)digest, 0)) {
-               CAPIerr(CAPI_F_CAPI_RSA_SIGN, CAPI_R_CANT_SET_HASH_VALUE);
+               CAPIerr(CAPI_F_CAPI_DSA_DO_SIGN, CAPI_R_CANT_SET_HASH_VALUE);
                capi_addlasterror();
                goto err;
        }
 
 
        /* Finally sign it */
-       slen = 40;
+       slen = sizeof(csigbuf);
        if(!CryptSignHash(hash, AT_SIGNATURE, NULL, 0, csigbuf, &slen))
                {
-               CAPIerr(CAPI_F_CAPI_RSA_SIGN, CAPI_R_ERROR_SIGNING_HASH);
+               CAPIerr(CAPI_F_CAPI_DSA_DO_SIGN, CAPI_R_ERROR_SIGNING_HASH);
                capi_addlasterror();
                goto err;
                }
index 0dfab056d3213badc43004c1a57a7d7058d84e0a..6ffd5bf5741b535db2150144e582b2a2fffbfb53 100644 (file)
@@ -74,6 +74,7 @@ static ERR_STRING_DATA CAPI_str_functs[]=
 {ERR_FUNC(CAPI_F_CAPI_CTRL),   "CAPI_CTRL"},
 {ERR_FUNC(CAPI_F_CAPI_CTX_NEW),        "CAPI_CTX_NEW"},
 {ERR_FUNC(CAPI_F_CAPI_CTX_SET_PROVNAME),       "CAPI_CTX_SET_PROVNAME"},
+{ERR_FUNC(CAPI_F_CAPI_DSA_DO_SIGN),    "CAPI_DSA_DO_SIGN"},
 {ERR_FUNC(CAPI_F_CAPI_GET_KEY),        "CAPI_GET_KEY"},
 {ERR_FUNC(CAPI_F_CAPI_GET_PROVNAME),   "CAPI_GET_PROVNAME"},
 {ERR_FUNC(CAPI_F_CAPI_GET_PROV_INFO),  "CAPI_GET_PROV_INFO"},
@@ -105,6 +106,7 @@ static ERR_STRING_DATA CAPI_str_reasons[]=
 {ERR_REASON(CAPI_R_ERROR_SIGNING_HASH)   ,"error signing hash"},
 {ERR_REASON(CAPI_R_FUNCTION_NOT_SUPPORTED),"function not supported"},
 {ERR_REASON(CAPI_R_GETUSERKEY_ERROR)     ,"getuserkey error"},
+{ERR_REASON(CAPI_R_INVALID_DIGEST_LENGTH),"invalid digest length"},
 {ERR_REASON(CAPI_R_INVALID_DSA_PUBLIC_KEY_BLOB_MAGIC_NUMBER),"invalid dsa public key blob magic number"},
 {ERR_REASON(CAPI_R_INVALID_LOOKUP_METHOD),"invalid lookup method"},
 {ERR_REASON(CAPI_R_INVALID_PUBLIC_KEY_BLOB),"invalid public key blob"},
index 8f929f267ff20c2d5bfdc8d96436ef7d0b46d22a..cb801140b972cfb0d3261032e9fde3231952dddb 100644 (file)
@@ -71,6 +71,7 @@ static void ERR_CAPI_error(int function, int reason, char *file, int line);
 #define CAPI_F_CAPI_CTRL                                100
 #define CAPI_F_CAPI_CTX_NEW                             101
 #define CAPI_F_CAPI_CTX_SET_PROVNAME                    102
+#define CAPI_F_CAPI_DSA_DO_SIGN                                 114
 #define CAPI_F_CAPI_GET_KEY                             103
 #define CAPI_F_CAPI_GET_PROVNAME                        104
 #define CAPI_F_CAPI_GET_PROV_INFO                       105
@@ -99,6 +100,7 @@ static void ERR_CAPI_error(int function, int reason, char *file, int line);
 #define CAPI_R_ERROR_SIGNING_HASH                       111
 #define CAPI_R_FUNCTION_NOT_SUPPORTED                   112
 #define CAPI_R_GETUSERKEY_ERROR                                 113
+#define CAPI_R_INVALID_DIGEST_LENGTH                    124
 #define CAPI_R_INVALID_DSA_PUBLIC_KEY_BLOB_MAGIC_NUMBER         122
 #define CAPI_R_INVALID_LOOKUP_METHOD                    114
 #define CAPI_R_INVALID_PUBLIC_KEY_BLOB                  115