Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(332)

Side by Side Diff: net/third_party/nss/ssl/sslimpl.h

Issue 6413010: Allow the SSL session cache on Win/Mac to be used even after a client cert key is removed (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * This file is PRIVATE to SSL and should be the first thing included by 2 * This file is PRIVATE to SSL and should be the first thing included by
3 * any SSL implementation file. 3 * any SSL implementation file.
4 * 4 *
5 * ***** BEGIN LICENSE BLOCK ***** 5 * ***** BEGIN LICENSE BLOCK *****
6 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 6 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
7 * 7 *
8 * The contents of this file are subject to the Mozilla Public License Version 8 * The contents of this file are subject to the Mozilla Public License Version
9 * 1.1 (the "License"); you may not use this file except in compliance with 9 * 1.1 (the "License"); you may not use this file except in compliance with
10 * the License. You may obtain a copy of the License at 10 * the License. You may obtain a copy of the License at
(...skipping 662 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 /* The following values pertain to the slot that did the signature 673 /* The following values pertain to the slot that did the signature
674 ** for client auth. (used only in client) 674 ** for client auth. (used only in client)
675 */ 675 */
676 SECMODModuleID clAuthModuleID; 676 SECMODModuleID clAuthModuleID;
677 CK_SLOT_ID clAuthSlotID; 677 CK_SLOT_ID clAuthSlotID;
678 PRUint16 clAuthSeries; 678 PRUint16 clAuthSeries;
679 679
680 char masterValid; 680 char masterValid;
681 char clAuthValid; 681 char clAuthValid;
682 682
683 #ifdef NSS_PLATFORM_CLIENT_AUTH
684 PlatformAuthInfo clPlatformAuthInfo;
685 char clPlatformAuthValid;
686 #endif /* NSS_PLATFORM_CLIENT_AUTH */
687
688 /* Session ticket if we have one, is sent as an extension in the 683 /* Session ticket if we have one, is sent as an extension in the
689 * ClientHello message. This field is used by clients. 684 * ClientHello message. This field is used by clients.
690 */ 685 */
691 NewSessionTicket sessionTicket; 686 NewSessionTicket sessionTicket;
692 SECItem srvName; 687 SECItem srvName;
693 } ssl3; 688 } ssl3;
694 } u; 689 } u;
695 }; 690 };
696 691
697 692
(...skipping 1048 matching lines...) Expand 10 before | Expand all | Expand 10 after
1746 extern SECStatus ssl_InitSessionCacheLocks(PRBool lazyInit); 1741 extern SECStatus ssl_InitSessionCacheLocks(PRBool lazyInit);
1747 1742
1748 extern SECStatus ssl_FreeSessionCacheLocks(void); 1743 extern SECStatus ssl_FreeSessionCacheLocks(void);
1749 1744
1750 /***************** platform client auth ****************/ 1745 /***************** platform client auth ****************/
1751 1746
1752 #ifdef NSS_PLATFORM_CLIENT_AUTH 1747 #ifdef NSS_PLATFORM_CLIENT_AUTH
1753 // Releases the platform key. 1748 // Releases the platform key.
1754 extern void ssl_FreePlatformKey(PlatformKey key); 1749 extern void ssl_FreePlatformKey(PlatformKey key);
1755 1750
1756 // Frees any memory allocated to store a persistent reference to the
1757 // platform key.
1758 extern void ssl_FreePlatformAuthInfo(PlatformAuthInfo* info);
1759
1760 // Initializes the PlatformAuthInfo to empty/invalid values.
1761 extern void ssl_InitPlatformAuthInfo(PlatformAuthInfo* info);
1762
1763 // Determine if the given key is still present in the system. This is used
1764 // to check for things like smart cards being ejected after handshaking,
1765 // since no further operations on the key will happen which would detect this.
1766 extern PRBool ssl_PlatformAuthTokenPresent(PlatformAuthInfo* info);
1767
1768 // Obtain a persistent reference to a key, sufficient for
1769 // ssl_PlatformAuthTokenPresent to determine if the key is still present.
1770 extern void ssl_GetPlatformAuthInfoForKey(PlatformKey key,
1771 PlatformAuthInfo* info);
1772
1773 // Implement the client CertificateVerify message for SSL3/TLS1.0 1751 // Implement the client CertificateVerify message for SSL3/TLS1.0
1774 extern SECStatus ssl3_PlatformSignHashes(SSL3Hashes *hash, 1752 extern SECStatus ssl3_PlatformSignHashes(SSL3Hashes *hash,
1775 PlatformKey key, SECItem *buf, 1753 PlatformKey key, SECItem *buf,
1776 PRBool isTLS); 1754 PRBool isTLS);
1777 1755
1778 // Converts a CERTCertList* (A collection of CERTCertificates) into a 1756 // Converts a CERTCertList* (A collection of CERTCertificates) into a
1779 // CERTCertificateList* (A collection of SECItems), or returns NULL if 1757 // CERTCertificateList* (A collection of SECItems), or returns NULL if
1780 // it cannot be converted. 1758 // it cannot be converted.
1781 // This is to allow the platform-supplied chain to be created with purely 1759 // This is to allow the platform-supplied chain to be created with purely
1782 // public API functions, using the preferred CERTCertList mutators, rather 1760 // public API functions, using the preferred CERTCertList mutators, rather
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1819 #elif defined(_WIN32_WCE) 1797 #elif defined(_WIN32_WCE)
1820 #define SSL_GETPID GetCurrentProcessId 1798 #define SSL_GETPID GetCurrentProcessId
1821 #elif defined(WIN32) 1799 #elif defined(WIN32)
1822 extern int __cdecl _getpid(void); 1800 extern int __cdecl _getpid(void);
1823 #define SSL_GETPID _getpid 1801 #define SSL_GETPID _getpid
1824 #else 1802 #else
1825 #define SSL_GETPID() 0 1803 #define SSL_GETPID() 0
1826 #endif 1804 #endif
1827 1805
1828 #endif /* __sslimpl_h_ */ 1806 #endif /* __sslimpl_h_ */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698