JDK (Java Development Kit) Tutorials
Dr. Herong Yang, Version 5.00

java.security.KeyStore - The 'keystore' Class

This section provides a quick introduction of the java.security.KeyStore class, which represents a copy of a 'keystore' database file in memory.

After learning how to use java.security.cert.Certificate and java.security.cert.CertificateFactory classes, Now I am ready to learn the java.security.KeyStore class.

java.security.KeyStore is a class representing a key store database in memory. It offers the following major methods:

  • getIntance() - Returns a KeyStore object of the specified key store type of the implementation of the specified security package provider. If not specified, the default provider will be used.
  • load() - Deletes all entries and loads all entries of a key store from the specified input stream with the specified password.
  • store() - Stores all entries to the output stream with the specified password.
  • size() - Returns the number of entries.
  • aliases() - Returns alias names of all entries as Enumeration object.
  • deleteEntry() - Deletes the entry of the specified alias name.
  • getCertificate() - Returns the certificate of the entry of the specified alias name. If the specified entry is a key entry, it returns the first certificate of the certificate chain.
  • getCertificateChain() - Returns the certificate chain as a Certificate array of the entry of the specified alias name. If the specified entry is a certificate entry, it returns null.
  • getKey() - Returns the key of the entry of the specified alias name with the specified password. If the specified entry is a certificate entry, it returns null.
  • setCertificateEntry() - Inserts a new certificate entry with the specified alias name and the specified certificate.
  • setKeyEntry() - Inserts a new key entry with the specified alias name, the specified certificate chain, and the specified password.
  • isKeyEntry() - Returns true if the entry with the specified alias name is a key entry.
  • isCertificateEntry() - Returns true if the entry with the specified alias name is a certificate entry.
  • getType() - Returns the type of this KeyStore.
  • getProvider() - Returns the security package provider of this KeyStore.

Last update: 2006.

Table of Contents

 About This JDK Tutorial Book

 Downloading and Installing JDK 1.3.1 on Windows

 Downloading and Installing JDK 1.4.1 on Windows

 Downloading and Installing JDK 1.5.0 on Windows

 Downloading and Installing JDK 1.6.2 on Windows

 Date, Time and Calendar Classes

 Date and Time Object and String Conversion

 Number Object and Numeric String Conversion

 Locales, Localization Methods and Resource Bundles

 Calling and Importing Classes Defined in Unnamed Packages

 HashSet, Vector, HashMap and Collection Classes

 Character Set Encoding Classes and Methods

 Character Set Encoding Maps

 Encoding Conversion Programs for Encoded Text Files

 Socket Network Communication

 Datagram Network Communication

 DOM (Document Object Model) - API for XML Files

 SAX (Simple API for XML)

 DTD (Document Type Definition) - XML Validation

 XSD (XML Schema Definition) - XML Validation

 XSL (Extensible Stylesheet Language)

 Message Digest Algorithm Implementations in JDK

 Private key and Public Key Pair Generation

 PKCS#8/X.509 Private/Public Encoding Standards

 Digital Signature Algorithm and Sample Program

 "keytool" Commands and "keystore" Files

KeyStore and Certificate Classes

 java.security.cert.Certificate - The Certificate Class

 Using CertificateFactory Class to Read in Certificates

 Reading and Writing Certificates in DER and RFC Formats

java.security.KeyStore - The 'keystore' Class

 JcaKeyStoreTest.java - 'keystore' Class Test Program

 Secret Key Generation and Management

 Cipher - Secret Key Encryption and Decryption

 The SSL (Secure Socket Layer) Protocol

 SSL Socket Communication Testing Programs

 SSL Client Authentication

 HTTPS (Hypertext Transfer Protocol Secure)

 References

 PDF Printing Version

Dr. Herong Yang, updated in 2008
java.security.KeyStore - The 'keystore' Class