In this section, we've introduced the features the Java language provides, either fully integrated or extension-based, that help to ensure that programming remains secure. We've offered some general examples of secure programming techniques to help you become familiar with the concept. We've covered security technologies that used to be extensions but are now integrated into the version 1.4 release; we've also noted two new security technologies. And we've demonstrated that third-party libraries can enhance security programs by offering new technologies.
In the remainder of this tutorial, we will familiarize you with these concepts designed to provide secure messaging (as they apply to Java programming):
- Message digests. Coupled with message authentication codes, a technology that ensures the integrity of your message.
- Private key encryption. A technology designed to ensure the confidentiality of your message.
- Public key encryption. A technology that allows two parties to share secret messages without prior agreement on secret keys.
- Digital signatures. A bit pattern that identifies the other party's message as coming from the appropriate person.
- Digital certificates. A technology that adds another level of security to digital signatures by having the message certified by a third-party authority.
- Code signing. The concept that a trusted entity embeds a signature in delivered code.
- SSL/TLS. A protocol for establishing a secure communications channel between a client and a server. Transport Layer Security (TLS) is the replacement for Secure Sockets Layer (SSL).
As we discuss each of these topics, we'll serve up examples and sample code.