Skip to:Content
|
Bottom
Cover image for Network security with OpenSSL
Title:
Network security with OpenSSL
Personal Author:
Publication Information:
Sebastopol, CA : O'Reilly Media, 2002
ISBN:
9780596002701

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010163759 TK5105.59 V53 2002 Open Access Book Book
Searching...
Searching...
30000010183290 TK5105.59 V53 2002 Open Access Book Book
Searching...

On Order

Summary

Summary

Most applications these days are at least somewhat network aware, but how do you protect those applications against common network security threats? Many developers are turning to OpenSSL, an open source version of SSL/TLS, which is the most widely used protocol for secure network communications.The OpenSSL library is seeing widespread adoption for web sites that require cryptographic functions to protect a broad range of sensitive information, such as credit card numbers and other financial transactions. The library is the only free, full-featured SSL implementation for C and C++, and it can be used programmatically or from the command line to secure most TCP-based network protocols. Network Security with OpenSSL enables developers to use this protocol much more effectively. Traditionally, getting something simple done in OpenSSL could easily take weeks. This concise book gives you the guidance you need to avoid pitfalls, while allowing you to take advantage of the library?s advanced features. And, instead of bogging you down in the technical details of how SSL works under the hood, this book provides only the information that is necessary to use OpenSSL safely and effectively. In step-by-step fashion, the book details the challenges in securing network communications, and shows you how to use OpenSSL tools to best meet those challenges.As a system or network administrator, you will benefit from the thorough treatment of the OpenSSL command-line interface, as well as from step-by-step directions for obtaining certificates and setting up your own certification authority. As a developer, you will further benefit from the in-depth discussions and examples of how to use OpenSSL in your own programs. Although OpenSSL is written in C, information on how to use OpenSSL with Perl, Python and PHP is also included.OpenSSL may well answer your need to protect sensitive data. If that?s the case, Network Security with OpenSSL is the only guide available on the subject.


Author Notes

John Viega, Founder and Chief Scientist of Secure Software (www.securesoftware.com), is a well-known security expert, and coauthor of Building Secure Software (Addison-Wesley) and Network Security with OpenSSL (O'Reilly). John is responsible for numerous software security tools, and is the original author of Mailman, the GNU mailing list manager. He holds a B.A. and M.S. in Computer Science from the University of Virginia. Mr. Viega is also an Adjunct Professor of Computer Science at Virginia Tech (Blacksburg, VA) and a Senior Policy Researcher at the Cyberspace Policy Institute, and he serves on the Technical Advisory Board for the Open Web Applications Security Project. He also founded a Washington, D.C. area security interest group that conducts monthly lectures presented by leading experts in the field. He is the author or coauthor of nearly 80 technical publications, including numerous refereed research papers and trade articles.

Matt Messier, Director of Engineering at Secure Software, is a security authority who has been programming for nearly two decades. Besides coauthoring Network Security with OpenSSL, Matt coauthored the Safe C String Library, RATS, and EGADS, an Entropy Gathering and Distribution System used for securely seeding pseudo-random number generators. Prior to joining Secure Software, Matt worked for IBM and Lotus, on source and assembly level debugging techniques, and operating system concepts.

Pravir Chandra, Research Scientist at Secure Software Solutions, is an expert in language-level security. Most recently, he co-authored the DARPA-funded "catscan" tool for static security analysis of C source code. Pravir holds a B.S. in Computer Science from Case Western Reserve University, and wants you to know that Cleveland rocks!


Table of Contents

Prefacep. ix
1. Introductionp. 1
Cryptography for the Rest of Usp. 2
Overview of SSLp. 10
Problems with SSLp. 12
What SSL Doesn't Do Wellp. 20
OpenSSL Basicsp. 21
Securing Third-Party Softwarep. 23
2. Command-Line Interfacep. 29
The Basicsp. 30
Message Digest Algorithmsp. 32
Symmetric Ciphersp. 34
Public Key Cryptographyp. 35
S/MIMEp. 40
Passwords and Passphrasesp. 42
Seeding the Pseudorandom Number Generatorp. 43
3. Public Key Infrastructure (PKI)p. 45
Certificatesp. 46
Obtaining a Certificatep. 55
Setting Up a Certification Authorityp. 59
4. Support Infrastructurep. 74
Multithread Supportp. 74
Internal Error Handlingp. 81
Abstract Input/Outputp. 86
Random Number Generationp. 97
Arbitrary Precision Mathp. 103
Using Enginesp. 109
5. SSL/TLS Programmingp. 112
Programming with SSLp. 113
Advanced Programming with SSLp. 150
6. Symmetric Cryptographyp. 171
Concepts in Symmetric Cryptographyp. 171
Encrypting with the EVP APIp. 174
General Recommendationsp. 192
7. Hashes and MACsp. 193
Overview of Hashes and MACsp. 193
Hashing with the EVP APIp. 195
Using MACsp. 200
Secure HTTP Cookiesp. 212
8. Public Key Algorithmsp. 217
When to Use Public Key Cryptographyp. 218
Diffie-Hellmanp. 219
Digital Signature Algorithm (DSA)p. 225
RSAp. 230
The EVP Public Key Interfacep. 236
Encoding and Decoding Objectsp. 244
9. OpenSSL in Other Languagesp. 251
Net::SSLeay for Perlp. 251
M2Crypto for Pythonp. 258
OpenSSL Support in PHPp. 266
10. Advanced Programming Topicsp. 275
Object Stacksp. 275
Configuration Filesp. 277
X. 509p. 280
PKCS#7 and S/MIMEp. 296
PKCS#12p. 307
Appendix Command-Line Referencep. 309
Indexp. 353
Go to:Top of Page