]> git.saurik.com Git - apple/security.git/blobdiff - AppleCSP/RSA_DSA/RSA_DSA_utils.cpp
Security-54.1.tar.gz
[apple/security.git] / AppleCSP / RSA_DSA / RSA_DSA_utils.cpp
index 30d723eed2d18d5745002413b331b535d8a14a8f..da4510eabf58dcacda0301d0a5eeb0886665e591 100644 (file)
 
 #define rsaMiscDebug(args...)  debug("rsaMisc", ## args)
 
-void throwRsaDsa(
-       const char *op)
-{
-       unsigned long e = logSslErrInfo(op);
-       CSSM_RETURN cerr = CSSM_OK;
-       
-       /* try to parse into something meaningful */
-       int reason = ERR_GET_REASON(e);
-       int lib = ERR_GET_LIB(e);
-       
-       /* first try the global ones */
-       switch(reason) {
-               case ERR_R_MALLOC_FAILURE:
-                       cerr = CSSMERR_CSP_MEMORY_ERROR; break;
-               case ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED:
-                       /* internal */ break;
-               case ERR_R_PASSED_NULL_PARAMETER:
-                       cerr = CSSMERR_CSP_INVALID_POINTER; break;
-               case ERR_R_NESTED_ASN1_ERROR:
-               case ERR_R_BAD_ASN1_OBJECT_HEADER:
-               case ERR_R_BAD_GET_ASN1_OBJECT_CALL:
-               case ERR_R_EXPECTING_AN_ASN1_SEQUENCE:
-               case ERR_R_ASN1_LENGTH_MISMATCH:
-               case ERR_R_MISSING_ASN1_EOS:
-                       /* ASN - shouldn't happen, right? */
-                       cerr = CSSMERR_CSP_INTERNAL_ERROR; break;
-               default:
-                       break;
-       }
-       if(cerr != CSSM_OK) {
-               CssmError::throwMe(cerr);
-       }
-       
-       /* now the lib-specific ones */
-       switch(lib) {
-               case ERR_R_BN_LIB:
-                       /* all indicate serious internal error...right? */
-                       cerr = CSSMERR_CSP_INTERNAL_ERROR; break;
-               case ERR_R_RSA_LIB:
-                       switch(reason) {
-                               case RSA_R_ALGORITHM_MISMATCH:
-                                       cerr = CSSMERR_CSP_ALGID_MISMATCH; break;
-                               case RSA_R_BAD_SIGNATURE:
-                                       cerr = CSSMERR_CSP_VERIFY_FAILED; break;
-                               case RSA_R_DATA_TOO_LARGE:
-                               case RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE:
-                               case RSA_R_DATA_TOO_SMALL:
-                               case RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE:
-                               case RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY:
-                                       cerr = CSSMERR_CSP_INPUT_LENGTH_ERROR; break;
-                               case RSA_R_KEY_SIZE_TOO_SMALL:
-                                       cerr = CSSMERR_CSP_INVALID_ATTR_KEY_LENGTH; break;
-                               case RSA_R_PADDING_CHECK_FAILED:
-                                       cerr = CSSMERR_CSP_INVALID_DATA; break;
-                               case RSA_R_RSA_OPERATIONS_NOT_SUPPORTED:
-                                       cerr = CSSMERR_CSP_FUNCTION_NOT_IMPLEMENTED; break;
-                               case RSA_R_UNKNOWN_ALGORITHM_TYPE:
-                                       cerr = CSSMERR_CSP_INVALID_ALGORITHM; break;
-                               case RSA_R_WRONG_SIGNATURE_LENGTH:
-                                       cerr = CSSMERR_CSP_VERIFY_FAILED; break;
-                               default:
-                                       cerr = CSSMERR_CSP_INTERNAL_ERROR; break;
-                       }
-                       break;
-               case ERR_R_DSA_LIB:
-                       switch(reason) {
-                               case DSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE:
-                                       cerr = CSSMERR_CSP_INPUT_LENGTH_ERROR; break;
-                               default:
-                                       cerr = CSSMERR_CSP_INTERNAL_ERROR; break;
-                       }
-                       break;
-               default:
-                       cerr = CSSMERR_CSP_INTERNAL_ERROR; break;
-       }
-       CssmError::throwMe(cerr);
-}
-       
-/*
- * given an openssl-style error, throw appropriate CssmError.
- */
-void throwOpensslErr(int irtn)
-{
-       /* FIXME */
-       CssmError::throwMe(CSSMERR_CSP_INTERNAL_ERROR);
-}
-
 /* 
  * Given a Context:
  * -- obtain CSSM key (there must only be one)