Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Title Page
Copyright
Dedication
About the Author
About the Technical Editor
Credits
Acknowledgments
Introduction
Supplemental Web Sites
Roadmap and Companion Source Code
Outline of the Book
How to Read This Book
Chapter 1: Understanding Internet Security
What Are Secure Sockets?
“Insecure” Communications: Understanding the HTTP Protocol
Roadmap for the Rest of This Book
Chapter 2: Protecting Against Eavesdroppers with Symmetric Cryptography
Understanding Block Cipher Cryptography Algorithms
Understanding Stream Cipher Algorithms
Chapter 3: Secure Key Exchange over an Insecure Medium with Public Key Cryptography
Understanding the Theory Behind the RSA Algorithm
Performing Arbitrary Precision Binary Math to Implement Public-Key Cryptography
Encryption and Decryption with RSA
Achieving Perfect Forward Secrecy with Diffie-Hellman Key Exchange
Getting More Security per Key Bit: Elliptic Curve Cryptography
Chapter 4: Authenticating Communications Using Digital Signatures
Using Message Digests to Create Secure Document Surrogates
Chapter 5: Creating a Network of Trust Using X.509 Certificates
Putting It Together: The Secure Channel Protocol
Encoding with ASN.1
Developing an ASN.1 Parser
Managing Certificates
Other Problems with Certificates
Chapter 6: A Usable, Secure Communications Protocol: Client-Side TLS
Implementing the TLS 1.0 Handshake (Client Perspective)
Secure Data Transfer with TLS
Implementing TLS Shutdown
Examining HTTPS End-to-End Examples (TLS 1.0)
Differences Between SSL 3.0 and TLS 1.0
Differences Between TLS 1.0 and TLS 1.1
Chapter 7: Adding Server-Side TLS 1.0 Support
Implementing the TLS 1.0 Handshake from the Server's Perspective
Avoiding Common Pitfalls When Adding HTTPS Support to a Server
When a Browser Displays Errors: Browser Trust Issues
Chapter 8: Advanced SSL Topics
Passing Additional Information with Client Hello Extensions
Safely Reusing Key Material with Session Resumption
Avoiding Fixed Parameters with Ephemeral Key Exchange
Verifying Identity with Client Authentication
Dealing with Legacy Implementations: Exportable Ciphers
Discarding Key Material Through Session Renegotiation
Chapter 9: Adding TLS 1.2 Support to Your TLS Library
Supporting TLS 1.2 When You Use RSA for the Key Exchange
Impact to Diffie-Hellman Key Exchange
Adding Support for AEAD Mode Ciphers
Working ECC Extensions into the TLS Library
The Current State of TLS 1.2
Chapter 10: Other Applications of SSL
Adding the NTTPS Extension to the NTTP Algorithm
Implementing “Multi-hop” SMTP over TLS and Protecting Email Content with S/MIME
Securing Datagram Traffic
Supporting SSL When Proxies Are Involved
SSL with OpenSSL
Appendix A: Binary Representation of Integers: A Primer
The Decimal and Binary Numbering Systems
Understanding Binary Logical Operations
Two's-Complement Representation of Negative Numbers
Big-Endian versus Little-Endian Number Formats
Appendix B: Installing TCPDump and OpenSSL
Installing TCPDump
Installing OpenSSL
Appendix C: Understanding the Pitfalls of SSLv2
Implementing the SSL Handshake
Index
← Prev
Back
Next →
← Prev
Back
Next →