-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
45 lines (35 loc) · 2.31 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
SecureTransport notes
14 Feb 2002 dmitch
-- Server-side cert usage and configuration is highly application dependent.
-- Although the use of server-initiated key exchange is optional under
the SSL3 spec, Netscape browsers (4.61 through 4.75) will not tolerate
this operation unless an exportable cipher is selected. The current
configuration of the library will attempt to perform server-initiated
key exchange if and only if the app has specified an encryption
certificate via SSLSetEncryptionCertificate(). Thus, in a config
which is required to work with Netscape browsers, if non-export
(i.e., strong) ciphers are to be supported, encryption certs
must NOT be specified, and the server cert specified in SSLSetCertificate()
must be capable of both signing and encryption. This applies to the underlying
keys as well.
-- On top of that, even in a situation where Netscape will allow a server-
initiated key exchange (export cipher, app specifies both kinds of certs),
Netscape will abort if the *signing-only* cert (specified in
SSLSetCertificate()) is not capable of encryption! In this case that cert
is never even used for encryption. But that is the real world.
Thus, to work with Netscape browsers with export-grade ciphers, the main
signing cert still has to be capable of encryption, even if the app specifies
a separate encryption cert.
-- The SSL_SERVER_KEYEXCH_HACK flag, in sslBuildFlags.h, was previously used
to work around the above-mentioned Netscape bug; when this flag is true,
server-initiated key exchange is only performed if an encrypting cert is
specified AND an export-grade cipher is selected. The current config has
this flag set false.
-- SSL2 server-side operation requires the presence of a cert and key which is
capable of encryption (not signing). One cert, specified in SSLSetCertificate(),
can support both SSL2 and SSL3 if and only if it is capable of both signing
and encryption.
-- Server mode operation with IE is fully functional and reliable. There is a
bug in IE which is worked around in SSLEncodeServerHello(), in hdskhelo.c.
See comments there. Tested with IE 5.0 on OS 9 and 5.1.3 on OS X.
-- Server untested with Windows clients.