Hands-on, practical guide to implementing SSL and TLS protocols for Internet security
If you are a network professional who knows C programming, this practical book is for you. Focused on how to implement Secure Socket Layer (SSL) and Transport Layer Security (TLS), this book guides you through all necessary steps, whether or not you have a working knowledge of cryptography. The book covers SSLv2, TLS 1.0, and TLS 1.2, including implementations of the relevant cryptographic protocols, secure hashing, certificate parsing, certificate generation, and more.
Coverage includes:
Understanding Internet Security
Protecting against Eavesdroppers with Symmetric Cryptography
Secure Key Exchange over an Insecure Medium with Public Key Cryptography
Authenticating Communications Using Digital Signatures
Creating a Network of Trust Using X.509 Certificates
A Usable, Secure Communications Protocol: Client-Side TLS
Set up and launch a working implementation of SSL with this practical guide.
Review
"This is a very informative book for both the experienced and beginner to get a grip on internet security using the SSL and TSL protocols. The index is very comprehensive and any term you are looking for is easy to find with page notations that are clear and understandable." - Jay Dan, CTO, ClickSSL
"If you prefer a good howto book, Implementing SSL / TLS Using Cryptography and PKI by Joshua Davies is one of the best books on the subject, and it's up to date." - Carla Schroder, author of "The Linux Cookbook.
From the Inside Flap
Let's get down to a practical implementation of SSL and TLS
SSL/TLS is a standardized, widely implemented, peer-reviewed protocol for applying cryptographic primitives to arbitrary networked communications. It provides privacy, integrity, and a measure of authenticity to otherwise inherently untrustworthy network connections.
While most books detail the protocol, this one is intended to provide you with a nearly complete SSL/TLS library, developed incrementally using C code. Whether or not you have a working knowledgeof cryptography, you'll find this practical guide helps you understand the internals of these libraries so that, when it comes time to use one, you will have a firm understanding of what takes place at each stage.
Understand secure sockets and the HTTP protocol
Learn to protect against eavesdroppers with symmetric cryptography
Secure key exchanges over an insecure medium with public key cryptography and boost security with elliptic curve cryptography
Examine the use of digital signatures and X.509 certificates
Develop a usable, secure communications protocol with client-side TLS
Add server-side TLS 1.0 support
Use SSL in advanced situations, including safely reusing key material with sessionresumption and verifying identity with client authentication
Let's get down to a practical implementation of SSL and TLS
SSL/TLS is a standardized, widely implemented, peer-reviewed protocol for applying cryptographic primitives to arbitrary networked communications. It provides privacy, integrity, and a measure of authenticity to otherwise inherently untrustworthy network connections.
While most books detail the protocol, this one is intended to provide you with a nearly complete SSL/TLS library, developed incrementally using C code. Whether or not you have a working knowledgeof cryptography, you'll find this practical guide helps you understand the internals of these libraries so that, when it comes time to use one, you will have a firm understanding of what takes place at each stage.
Understand secure sockets and the HTTP protocol
Learn to protect against eavesdroppers with symmetric cryptography
Secure key exchanges over an insecure medium with public key cryptography and boost security with elliptic curve cryptography
Examine the use of digital signatures and X.509 certificates
Develop a usable, secure communications protocol with client-side TLS
Add server-side TLS 1.0 support
Use SSL in advanced situations, including safely reusing key material with sessionresumption and verifying identity with client authentication
Joshua Davies is a principal architect for Travelocity.com, responsible for the architecture of the main Web site with a focus on networking and security. Previously, he designed distributed systems for AT&T, Digex, and the Mexican telecommunications giant Pegaso.