OLD | NEW |
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ | 1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
2 /* | 2 /* |
3 * SSL3 Protocol | 3 * SSL3 Protocol |
4 * | 4 * |
5 * This Source Code Form is subject to the terms of the Mozilla Public | 5 * This Source Code Form is subject to the terms of the Mozilla Public |
6 * License, v. 2.0. If a copy of the MPL was not distributed with this | 6 * License, v. 2.0. If a copy of the MPL was not distributed with this |
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
8 /* $Id: ssl3con.c,v 1.192 2012/09/28 05:10:25 wtc%google.com Exp $ */ | 8 /* $Id: ssl3con.c,v 1.192 2012/09/28 05:10:25 wtc%google.com Exp $ */ |
9 | 9 |
10 /* TODO(ekr): Implement HelloVerifyRequest on server side. OK for now. */ | 10 /* TODO(ekr): Implement HelloVerifyRequest on server side. OK for now. */ |
(...skipping 5347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5358 ssl_GetSpecReadLock(ss); | 5358 ssl_GetSpecReadLock(ss); |
5359 rv = ssl3_ComputeHandshakeHashes(ss, ss->ssl3.pwSpec, &hashes, 0); | 5359 rv = ssl3_ComputeHandshakeHashes(ss, ss->ssl3.pwSpec, &hashes, 0); |
5360 ssl_ReleaseSpecReadLock(ss); | 5360 ssl_ReleaseSpecReadLock(ss); |
5361 if (rv != SECSuccess) { | 5361 if (rv != SECSuccess) { |
5362 goto done; /* err code was set by ssl3_ComputeHandshakeHashes */ | 5362 goto done; /* err code was set by ssl3_ComputeHandshakeHashes */ |
5363 } | 5363 } |
5364 | 5364 |
5365 isTLS = (PRBool)(ss->ssl3.pwSpec->version > SSL_LIBRARY_VERSION_3_0); | 5365 isTLS = (PRBool)(ss->ssl3.pwSpec->version > SSL_LIBRARY_VERSION_3_0); |
5366 if (ss->ssl3.platformClientKey) { | 5366 if (ss->ssl3.platformClientKey) { |
5367 #ifdef NSS_PLATFORM_CLIENT_AUTH | 5367 #ifdef NSS_PLATFORM_CLIENT_AUTH |
5368 » rv = ssl3_PlatformSignHashes(&hashes, ss->ssl3.platformClientKey, | 5368 » rv = ssl3_PlatformSignHashes( |
5369 » » » » &buf, isTLS); | 5369 » &hashes, ss->ssl3.platformClientKey, &buf, isTLS, |
| 5370 » CERT_GetCertKeyType(&ss->ssl3.clientCertificate->subjectPublicKeyInf
o)); |
5370 ssl_FreePlatformKey(ss->ssl3.platformClientKey); | 5371 ssl_FreePlatformKey(ss->ssl3.platformClientKey); |
5371 ss->ssl3.platformClientKey = (PlatformKey)NULL; | 5372 ss->ssl3.platformClientKey = (PlatformKey)NULL; |
5372 #endif /* NSS_PLATFORM_CLIENT_AUTH */ | 5373 #endif /* NSS_PLATFORM_CLIENT_AUTH */ |
5373 } else { | 5374 } else { |
5374 rv = ssl3_SignHashes(&hashes, ss->ssl3.clientPrivateKey, &buf, isTLS); | 5375 rv = ssl3_SignHashes(&hashes, ss->ssl3.clientPrivateKey, &buf, isTLS); |
5375 if (rv == SECSuccess) { | 5376 if (rv == SECSuccess) { |
5376 PK11SlotInfo * slot; | 5377 PK11SlotInfo * slot; |
5377 sslSessionID * sid = ss->sec.ci.sid; | 5378 sslSessionID * sid = ss->sec.ci.sid; |
5378 | 5379 |
5379 /* Remember the info about the slot that did the signing. | 5380 /* Remember the info about the slot that did the signing. |
(...skipping 5892 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11272 PORT_Free(ss->ssl3.hs.recvdFragments.buf); | 11273 PORT_Free(ss->ssl3.hs.recvdFragments.buf); |
11273 } | 11274 } |
11274 } | 11275 } |
11275 | 11276 |
11276 ss->ssl3.initialized = PR_FALSE; | 11277 ss->ssl3.initialized = PR_FALSE; |
11277 | 11278 |
11278 SECITEM_FreeItem(&ss->ssl3.nextProto, PR_FALSE); | 11279 SECITEM_FreeItem(&ss->ssl3.nextProto, PR_FALSE); |
11279 } | 11280 } |
11280 | 11281 |
11281 /* End of ssl3con.c */ | 11282 /* End of ssl3con.c */ |
OLD | NEW |