]> git.saurik.com Git - apple/security.git/blob - OSX/libsecurity_apple_csp/open_ssl/opensslUtils/opensslUtils.h
Security-57740.51.3.tar.gz
[apple/security.git] / OSX / libsecurity_apple_csp / open_ssl / opensslUtils / opensslUtils.h
1 /*
2 * Copyright (c) 2000-2001,2011,2014 Apple Inc. All Rights Reserved.
3 *
4 * The contents of this file constitute Original Code as defined in and are
5 * subject to the Apple Public Source License Version 1.2 (the 'License').
6 * You may not use this file except in compliance with the License. Please obtain
7 * a copy of the License at http://www.apple.com/publicsource and read it before
8 * using this file.
9 *
10 * This Original Code and all software distributed under the License are
11 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
12 * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
13 * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14 * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
15 * specific language governing rights and limitations under the License.
16 */
17
18
19 /*
20 * appleUtils.h - Support for ssleay-derived crypto modules
21 */
22
23 #ifndef _OPENSSL_UTILS_H_
24 #define _OPENSSL_UTILS_H_
25
26 #include <openssl/opensslerr.h>
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
32 /*
33 * Trivial exception class associated with an openssl error.
34 */
35 class openSslException
36 {
37 public:
38 openSslException(
39 int irtn,
40 const char *op = NULL);
41 ~openSslException() { }
42 int irtn() { return mIrtn; }
43 private:
44 int mIrtn;
45 };
46
47 /* Clear openssl error stack. */
48 void clearOpensslErrors();
49
50 unsigned long logSslErrInfo(const char *op);
51
52 void throwRsaDsa(
53 const char *op);
54
55 /*
56 * given an openssl-style error, throw appropriate CssmError.
57 */
58 void throwOpensslErr(
59 int irtn);
60
61
62 #ifdef __cplusplus
63 }
64 #endif
65
66 #endif /* _OPENSSL_UTILS_H_ */