JDK Tutorials - Herong's Tutorial Examples - v6.32, by Herong Yang
"keystore" File Type: PKCS12 and JKS
This section provides a tutorial example on how to use the 'keytool -genkeypair' command to generate a new pair of keys and self-signed certificate in a new 'keystore' file.
Originally, JDK only supports 1 "keystore" file type called "JKS (Java Key Store)" developed by Sun. Now JDK is switching to use the "PKCS12", which is a better accepted standard described in RFC 7292.
If you create a new keystore file, herong.jks, with the JDK 17 "keytool" command and run the "-list" command option, you will see "PKCS12" is listed as the file type:
herong> \progra~1\java\jdk-17.0.1\bin\keytool -genkeypair -alias my_home -keystore herong.jks -storepass HerongJKS What is your first and last name? ... herong> \progra~1\java\jdk-17.0.1\bin\keytool -list -keystore herong.jks -storepass HerongJKS Keystore type: PKCS12 Keystore provider: SUN Your keystore contains 1 entry my_home, Apr 1, 2019, PrivateKeyEntry, Certificate fingerprint (SHA-256): 72:23:53:A2:C7:1B:7C:65:DE:0A:...
If you create a new keystore file, herong.jks, with the JDK 7 "keytool" command and run the "-list" command option, you will see "JKS" is listed as the file type:
herong> \progra~1\java\jdk-7.0.1\bin\keytool -genkeypair -alias my_home -keystore herong.jks -storepass HerongJKS What is your first and last name? ... herong> \progra~1\java\jdk-7.0.1\bin\keytool -list -keystore herong.jks -storepass HerongJKS Keystore type: JKS Keystore provider: SUN Your keystore contains 1 entry my_home, Apr 1, 2016, PrivateKeyEntry, Certificate fingerprint (SHA1): 8D:07:31:08:19:68:0C:21:09:88:2F:...
For backward compatibility, JDK 12 "keytool" command still supports "JKS" file type with the "-storetype JKS" option.
Table of Contents
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
Encoding Conversion Programs for Encoded Text Files
Datagram Network Communication
DOM (Document Object Model) - API for XML Files
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
Certificates and Certificate Chains
"keytool" - Key and Certificate Management Tool
"keytool -genkeypair" - Generating Keys and Self-Signed Certificates
►"keystore" File Type: PKCS12 and JKS
"keytool -export/import" - Exporting and Importing Certificates
"keytool -keyclone" - Cloning Certificates with New Identities
KeyStore and Certificate Classes
Secret Key Generation and Management
Cipher - Encryption and Decryption
The SSL (Secure Socket Layer) Protocol
SSL Socket Communication Testing Programs