2 * Copyright (c) 2000-2001 Apple Computer, Inc. All Rights Reserved.
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
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.
22 Contains: Misc. private SSL typedefs
24 Written by: Doug Mitchell, based on Netscape SSLRef 3.0
26 Copyright: (c) 1999 by Apple Computer, Inc., all rights reserved.
31 #define _SSL_PRIV_H_ 1
33 #include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
34 #include "sslBuildFlags.h"
40 /* Apple CSP doesn't support D-H yet */
44 * For ease of porting, we'll keep this around for internal use.
45 * It's used extensively; eventually we'll convert over to
46 * CFData, as in the public API.
54 * We can make this more Mac-like as well...
62 * Not exposed in public API
71 /* These values never appear in the actual protocol */
72 SSL_Version_Undetermined
= 0,
73 SSL_Version_3_0_With_2_0_Hello
= 100,
74 SSL_Version_3_0_Only
= 101,
75 TLS_Version_1_0_Only
= 202,
76 /* actual protocol values */
77 SSL_Version_2_0
= 0x0002,
78 SSL_Version_3_0
= 0x0300,
79 TLS_Version_1_0
= 0x0301 /* TLS 1.0 == SSL 3.1 */
83 * Clients see an opaque SSLContextRef; internal code uses the
86 typedef struct SSLContext SSLContext
;
89 * Some hard-coded constants.
92 /* The size of of client- and server-generated random numbers in hello messages. */
93 #define SSL_CLIENT_SRVR_RAND_SIZE 32
95 /* The size of the pre-master and master secrets. */
96 #define SSL_RSA_PREMASTER_SECRET_SIZE 48
97 #define SSL_MASTER_SECRET_SIZE 48
103 #endif /* _SSL_PRIV_H */