jdk/src/linux/doc/man/keytool.1
author lana
Sun, 10 Apr 2011 10:23:28 -0700
changeset 9032 fd2e8bb06816
parent 5865 47da38a8c0f0
child 9573 c02ff5a7c67b
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
     1
." Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     2
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
." This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
." under the terms of the GNU General Public License version 2 only, as
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
." published by the Free Software Foundation.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
." This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
." version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
." accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
."
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
." You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
." 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
."
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2692
diff changeset
    18
." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2692
diff changeset
    19
." or visit www.oracle.com if you need additional information or have any
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2692
diff changeset
    20
." questions.
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    21
."
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
    22
.TH keytool 1 "02 Jun 2010"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    23
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    25
.SH "Name"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
keytool \- Key and Certificate Management Tool
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
Manages a keystore (database) of cryptographic keys, X.509 certificate chains, and trusted certificates.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
.SH "SYNOPSIS"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
\fP\f3keytool\fP [ commands ]
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
The keytool command interface has changed in Java SE 6. See the Changes Section for a detailed description. Note that previously defined commands are still supported.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
.SH "DESCRIPTION"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
\f3keytool\fP is a key and certificate management utility. It allows users to administer their own public/private key pairs and associated certificates for use in self\-authentication (where the user authenticates himself/herself to other users/services) or data integrity and authentication services, using digital signatures. It also allows users to cache the public keys (in the form of certificates) of their communicating peers. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
A \f2certificate\fP is a digitally signed statement from one entity (person, company, etc.), saying that the public key (and some other information) of some other entity has a particular value. (See Certificates.) When data is digitally signed, the signature can be verified to check the data integrity and authenticity. \f2Integrity\fP means that the data has not been modified or tampered with, and \f2authenticity\fP means the data indeed comes from whoever claims to have created and signed it.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
\f3keytool\fP also enables users to administer secret keys used in symmetric encryption/decryption (e.g. DES).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
\f3keytool\fP stores the keys and certificates in a \f2keystore\fP. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
.SH "COMMAND AND OPTION NOTES"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
The various commands and their options are listed and described below . Note:
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
All command and option names are preceded by a minus sign (\-). 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
The options for each command may be provided in any order. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
All items not italicized or in braces or square brackets are required to appear as is. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
Braces surrounding an option generally signify that a default value will be used if the option is not specified on the command line. Braces are also used around the \f2\-v\fP, \f2\-rfc\fP, and \f2\-J\fP options, which only have meaning if they appear on the command line (that is, they don't have any "default" values other than not existing). 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
Brackets surrounding an option signify that the user is prompted for the value(s) if the option is not specified on the command line. (For a \f2\-keypass\fP option, if you do not specify the option on the command line, \f3keytool\fP will first attempt to use the keystore password to recover the private/secret key, and if this fails, will then prompt you for the private/secret key password.) 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
Items in italics (option values) represent the actual values that must be supplied. For example, here is the format of the \f2\-printcert\fP command: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
  keytool \-printcert {\-file \fP\f4cert_file\fP\f3} {\-v}
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
When specifying a \f2\-printcert\fP command, replace \f2cert_file\fP with the actual file name, as in: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
  keytool \-printcert \-file VScert.cer
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
Option values must be quoted if they contain a blank (space). 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
The \f2\-help\fP command is the default. Thus, the command line 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   112
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
  keytool
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
is equivalent to 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   120
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
  keytool \-help
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   123
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   124
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   125
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   126
90ce3da70b43 Initial load
duke
parents:
diff changeset
   127
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   128
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   129
Option Defaults
90ce3da70b43 Initial load
duke
parents:
diff changeset
   130
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
Below are the defaults for various option values. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
\-alias "mykey"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   142
\-keyalg
90ce3da70b43 Initial load
duke
parents:
diff changeset
   143
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   144
    "DSA" (when using \fP\f3\-genkeypair\fP\f3)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   145
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
    "DES" (when using \fP\f3\-genseckey\fP\f3)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   147
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
90ce3da70b43 Initial load
duke
parents:
diff changeset
   149
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
\-keysize
90ce3da70b43 Initial load
duke
parents:
diff changeset
   151
.fl
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
   152
    2048 (when using \fP\f3\-genkeypair\fP\f3 and \-keyalg is "RSA")
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
   153
.fl
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
   154
    1024 (when using \fP\f3\-genkeypair\fP\f3 and \-keyalg is "DSA")
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
    56 (when using \fP\f3\-genseckey\fP\f3 and \-keyalg is "DES")
90ce3da70b43 Initial load
duke
parents:
diff changeset
   157
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
    168 (when using \fP\f3\-genseckey\fP\f3 and \-keyalg is "DESede")
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   160
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   162
\-validity 90
90ce3da70b43 Initial load
duke
parents:
diff changeset
   163
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
.fl
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   166
\-keystore the file named \fP\f4.keystore\fP\f3 in the user's home directory
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   168
90ce3da70b43 Initial load
duke
parents:
diff changeset
   169
.fl
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   170
\-storetype the value of the "keystore.type" property in the security properties file,
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
.fl
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   172
           which is returned by the static \fP\f4getDefaultType\fP\f3 method in 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   173
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   174
           \fP\f4java.security.KeyStore\fP\f3
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   176
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
.fl
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   178
\-file stdin if reading, stdout if writing
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   179
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
\-protected false
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
90ce3da70b43 Initial load
duke
parents:
diff changeset
   185
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   188
90ce3da70b43 Initial load
duke
parents:
diff changeset
   189
.LP
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
   190
In generating a public/private key pair, the signature algorithm (\f2\-sigalg\fP option) is derived from the algorithm of the underlying private key: If the underlying private key is of type "DSA", the \f2\-sigalg\fP option defaults to "SHA1withDSA", and if the underlying private key is of type "RSA", \f2\-sigalg\fP defaults to "SHA256withRSA". Please consult the 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   191
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
   192
\f2Java Cryptography Architecture API Specification & Reference\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
   193
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   194
http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA for a full list of \f2\-keyalg\fP and \f2\-sigalg\fP you can choose from.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   195
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   196
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
Common Options
90ce3da70b43 Initial load
duke
parents:
diff changeset
   198
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   199
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   202
The \f2\-v\fP option can appear for all commands except \f2\-help\fP. If it appears, it signifies "verbose" mode; more information will be provided in the output. 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   203
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
There is also a \f2\-J\fP\f2javaoption\fP option that may appear for any command. If it appears, the specified \f2javaoption\fP string is passed through directly to the Java interpreter. This option should not contain any spaces. It is useful for adjusting the execution environment or memory usage. For a list of possible interpreter options, type \f2java \-h\fP or \f2java \-X\fP at the command line.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   205
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
These options may appear for all commands operating on a keystore:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   209
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   210
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   211
\-storetype storetype 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   212
This qualifier specifies the type of keystore to be instantiated. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   213
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   214
\-keystore keystore 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   215
The keystore location. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   216
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   217
If the JKS storetype is used and a keystore file does not yet exist, then certain \f3keytool\fP commands may result in a new keystore file being created. For example, if \f2keytool \-genkeypair\fP is invoked and the \f2\-keystore\fP option is not specified, the default keystore file named \f2.keystore\fP in the user's home directory will be created if it does not already exist. Similarly, if the \f2\-keystore \fP\f2ks_file\fP option is specified but \f2ks_file\fP does not exist, then it will be created 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   218
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   219
Note that the input stream from the \f2\-keystore\fP option is passed to the \f2KeyStore.load\fP method. If \f2NONE\fP is specified as the URL, then a null stream is passed to the \f2KeyStore.load\fP method. \f2NONE\fP should be specified if the \f2KeyStore\fP is not file\-based (for example, if it resides on a hardware token device).  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   220
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   221
\-storepass storepass 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   222
The password which is used to protect the integrity of the keystore. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   223
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   224
\f2storepass\fP must be at least 6 characters long. It must be provided to all commands that access the keystore contents. For such commands, if a \f2\-storepass\fP option is not provided at the command line, the user is prompted for it. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   225
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   226
When retrieving information from the keystore, the password is optional; if no password is given, the integrity of the retrieved information cannot be checked and a warning is displayed.  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   227
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   228
\-providerName provider_name 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   229
Used to identify a cryptographic service provider's name when listed in the security properties file. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   230
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   231
\-providerClass provider_class_name 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   232
Used to specify the name of cryptographic service provider's master class file when the service provider is not listed in the security properties file. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   233
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   234
\-providerArg provider_arg 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   235
Used in conjunction with \f2\-providerClass\fP. Represents an optional string input argument for the constructor of \f2provider_class_name\fP. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   236
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   237
\-protected 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   238
Either \f2true\fP or \f2false\fP. This value should be specified as \f2true\fP if a password must be given via a protected authentication path such as a dedicated PIN reader. 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   239
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   240
Note: Since there are two keystores involved in \f2\-importkeystore\fP command, two options, namely, \f2\-srcprotected\fP and \f2\-destprotected\fP are provided for the source keystore and the destination keystore respectively.  
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   241
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   242
\-ext {name{:critical}{=value}} 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   243
Denotes an X.509 certificate extension. The option can be used in \f2\-genkeypair\fP and \f2\-gencert\fP to embed extensions into the certificate generated, or in \f2\-certreq\fP to show what extensions are requested in the certificate request. The option can appear multiple times. name can be a supported extension name (see below) or an arbitrary OID number. value, if provided, denotes the parameter for the extension; if omitted, denotes the default value (if defined) of the extension or the extension requires no parameter. The \f2":critical"\fP modifier, if provided, means the extension's isCritical attribute is true; otherwise, false. 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   244
.RS 3
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   245
90ce3da70b43 Initial load
duke
parents:
diff changeset
   246
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   247
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   248
Currently keytool supports these named extensions (case\-insensitive):
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   249
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   250
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   251
.TS
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   252
.if \n+(b.=1 .nr d. \n(.c-\n(c.-1
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   253
.de 35
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   254
.ps \n(.s
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   255
.vs \n(.vu
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   256
.in \n(.iu
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   257
.if \n(.u .fi
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   258
.if \n(.j .ad
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   259
.if \n(.j=0 .na
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   260
..
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   261
.nf
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   262
.nr #~ 0
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   263
.if n .nr #~ 0.6n
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   264
.ds #d .d
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   265
.if \(ts\n(.z\(ts\(ts .ds #d nl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   266
.fc
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   267
.nr 33 \n(.s
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   268
.rm 80 81
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   269
.nr 34 \n(.lu
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   270
.eo
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   271
.am 81
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   272
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   273
.di a+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   274
.35
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   275
.ft \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   276
.ll \n(34u*1u/3u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   277
.if \n(.l<\n(81 .ll \n(81u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   278
.in 0
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   279
The full form: "ca:{true|false}[,pathlen:<len>]"; or, <len>, a shorthand for "ca:true,pathlen:<len>"; or omitted, means "ca:true"
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   280
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   281
.di
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   282
.nr a| \n(dn
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   283
.nr a- \n(dl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   284
..
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   285
.ec \
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   286
.eo
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   287
.am 81
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   288
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   289
.di b+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   290
.35
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   291
.ft \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   292
.ll \n(34u*1u/3u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   293
.if \n(.l<\n(81 .ll \n(81u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   294
.in 0
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   295
usage(,usage)*, usage can be one of digitalSignature, nonRepudiation (contentCommitment), keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign, encipherOnly, decipherOnly. Usage can be abbreviated with the first few letters (say, dig for digitalSignature) or in camel\-case style (say, dS for digitalSignature, cRLS for cRLSign), as long as no ambiguity is found. Usage is case\-insensitive.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   296
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   297
.di
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   298
.nr b| \n(dn
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   299
.nr b- \n(dl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   300
..
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   301
.ec \
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   302
.eo
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   303
.am 81
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   304
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   305
.di c+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   306
.35
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   307
.ft \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   308
.ll \n(34u*1u/3u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   309
.if \n(.l<\n(81 .ll \n(81u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   310
.in 0
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   311
usage(,usage)*, usage can be one of anyExtendedKeyUsage, serverAuth, clientAuth, codeSigning, emailProtection, timeStamping, OCSPSigning, or any OID string. Named usage can be abbreviated with the first few letters or in camel\-case style, as long as no ambiguity is found. Usage is case\-insensitive.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   312
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   313
.di
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   314
.nr c| \n(dn
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   315
.nr c- \n(dl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   316
..
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   317
.ec \
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   318
.eo
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   319
.am 80
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   320
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   321
.di d+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   322
.35
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   323
.ft \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   324
.ll \n(34u*1u/3u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   325
.if \n(.l<\n(80 .ll \n(80u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   326
.in 0
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   327
SAN or SubjectAlternativeName
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   328
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   329
.di
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   330
.nr d| \n(dn
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   331
.nr d- \n(dl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   332
..
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   333
.ec \
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   334
.eo
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   335
.am 81
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   336
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   337
.di e+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   338
.35
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   339
.ft \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   340
.ll \n(34u*1u/3u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   341
.if \n(.l<\n(81 .ll \n(81u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   342
.in 0
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   343
type:value(,type:value)*, type can be EMAIL, URI, DNS, IP, or OID, value is the string format value for the type.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   344
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   345
.di
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   346
.nr e| \n(dn
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   347
.nr e- \n(dl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   348
..
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   349
.ec \
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   350
.eo
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   351
.am 80
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   352
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   353
.di f+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   354
.35
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   355
.ft \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   356
.ll \n(34u*1u/3u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   357
.if \n(.l<\n(80 .ll \n(80u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   358
.in 0
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   359
IAN or IssuerAlternativeName
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   360
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   361
.di
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   362
.nr f| \n(dn
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   363
.nr f- \n(dl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   364
..
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   365
.ec \
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   366
.eo
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   367
.am 81
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   368
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   369
.di g+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   370
.35
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   371
.ft \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   372
.ll \n(34u*1u/3u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   373
.if \n(.l<\n(81 .ll \n(81u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   374
.in 0
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   375
same as SubjectAlternativeName
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   376
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   377
.di
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   378
.nr g| \n(dn
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   379
.nr g- \n(dl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   380
..
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   381
.ec \
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   382
.eo
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   383
.am 81
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   384
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   385
.di h+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   386
.35
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   387
.ft \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   388
.ll \n(34u*1u/3u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   389
.if \n(.l<\n(81 .ll \n(81u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   390
.in 0
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   391
method:location\-type:location\-value (,method:location\-type:location\-value)*, method can be "timeStamping", "caRepository" or any OID. location\-type and location\-value can be any type:value supported by the SubjectAlternativeName extension.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   392
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   393
.di
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   394
.nr h| \n(dn
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   395
.nr h- \n(dl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   396
..
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   397
.ec \
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   398
.eo
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   399
.am 80
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   400
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   401
.di i+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   402
.35
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   403
.ft \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   404
.ll \n(34u*1u/3u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   405
.if \n(.l<\n(80 .ll \n(80u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   406
.in 0
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   407
AIA or AuthorityInfoAccess
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   408
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   409
.di
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   410
.nr i| \n(dn
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   411
.nr i- \n(dl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   412
..
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   413
.ec \
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   414
.eo
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   415
.am 81
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   416
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   417
.di j+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   418
.35
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   419
.ft \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   420
.ll \n(34u*1u/3u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   421
.if \n(.l<\n(81 .ll \n(81u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   422
.in 0
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   423
same as SubjectInfoAccess. method can be "ocsp","caIssuers" or any OID.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   424
.br
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   425
.di
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   426
.nr j| \n(dn
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   427
.nr j- \n(dl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   428
..
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   429
.ec \
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   430
.35
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   431
.nf
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   432
.ll \n(34u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   433
.nr 80 0
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   434
.nr 38 \w\f3Name\fP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   435
.if \n(80<\n(38 .nr 80 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   436
.nr 38 \wBC or BasicConstraints
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   437
.if \n(80<\n(38 .nr 80 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   438
.nr 38 \wKU or KeyUsage
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   439
.if \n(80<\n(38 .nr 80 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   440
.nr 38 \wEKU or ExtendedkeyUsage
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   441
.if \n(80<\n(38 .nr 80 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   442
.nr 38 \wSIA or SubjectInfoAccess
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   443
.if \n(80<\n(38 .nr 80 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   444
.80
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   445
.rm 80
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   446
.nr 38 \n(d-
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   447
.if \n(80<\n(38 .nr 80 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   448
.nr 38 \n(f-
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   449
.if \n(80<\n(38 .nr 80 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   450
.nr 38 \n(i-
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   451
.if \n(80<\n(38 .nr 80 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   452
.nr 81 0
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   453
.nr 38 \w\f3Value\fP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   454
.if \n(81<\n(38 .nr 81 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   455
.81
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   456
.rm 81
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   457
.nr 38 \n(a-
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   458
.if \n(81<\n(38 .nr 81 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   459
.nr 38 \n(b-
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   460
.if \n(81<\n(38 .nr 81 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   461
.nr 38 \n(c-
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   462
.if \n(81<\n(38 .nr 81 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   463
.nr 38 \n(e-
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   464
.if \n(81<\n(38 .nr 81 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   465
.nr 38 \n(g-
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   466
.if \n(81<\n(38 .nr 81 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   467
.nr 38 \n(h-
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   468
.if \n(81<\n(38 .nr 81 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   469
.nr 38 \n(j-
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   470
.if \n(81<\n(38 .nr 81 \n(38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   471
.35
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   472
.nf
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   473
.ll \n(34u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   474
.nr 38 1n
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   475
.nr 79 0
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   476
.nr 40 \n(79+(0*\n(38)
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   477
.nr 80 +\n(40
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   478
.nr 41 \n(80+(3*\n(38)
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   479
.nr 81 +\n(41
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   480
.nr TW \n(81
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
   481
.if t .if \n(TW>\n(.li .tm Table at line 289 file Input is too wide - \n(TW units
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   482
.fc  
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   483
.nr #T 0-1
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   484
.nr #a 0-1
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   485
.eo
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   486
.de T#
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   487
.ds #d .d
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   488
.if \(ts\n(.z\(ts\(ts .ds #d nl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   489
.mk ##
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   490
.nr ## -1v
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   491
.ls 1
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   492
.ls
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   493
..
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   494
.ec
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   495
.ta \n(80u \n(81u 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   496
.nr 31 \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   497
.nr 35 1m
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   498
\&\h'|\n(40u'\f3Name\fP\h'|\n(41u'\f3Value\fP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   499
.ne \n(a|u+\n(.Vu
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   500
.if (\n(a|+\n(#^-1v)>\n(#- .nr #- +(\n(a|+\n(#^-\n(#--1v)
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   501
.ta \n(80u \n(81u 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   502
.nr 31 \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   503
.nr 35 1m
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   504
\&\h'|\n(40u'BC or BasicConstraints\h'|\n(41u'
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   505
.mk ##
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   506
.nr 31 \n(##
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   507
.sp |\n(##u-1v
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   508
.nr 37 \n(41u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   509
.in +\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   510
.a+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   511
.in -\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   512
.mk 32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   513
.if \n(32>\n(31 .nr 31 \n(32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   514
.sp |\n(31u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   515
.ne \n(b|u+\n(.Vu
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   516
.if (\n(b|+\n(#^-1v)>\n(#- .nr #- +(\n(b|+\n(#^-\n(#--1v)
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   517
.ta \n(80u \n(81u 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   518
.nr 31 \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   519
.nr 35 1m
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   520
\&\h'|\n(40u'KU or KeyUsage\h'|\n(41u'
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   521
.mk ##
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   522
.nr 31 \n(##
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   523
.sp |\n(##u-1v
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   524
.nr 37 \n(41u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   525
.in +\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   526
.b+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   527
.in -\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   528
.mk 32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   529
.if \n(32>\n(31 .nr 31 \n(32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   530
.sp |\n(31u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   531
.ne \n(c|u+\n(.Vu
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   532
.if (\n(c|+\n(#^-1v)>\n(#- .nr #- +(\n(c|+\n(#^-\n(#--1v)
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   533
.ta \n(80u \n(81u 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   534
.nr 31 \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   535
.nr 35 1m
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   536
\&\h'|\n(40u'EKU or ExtendedkeyUsage\h'|\n(41u'
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   537
.mk ##
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   538
.nr 31 \n(##
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   539
.sp |\n(##u-1v
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   540
.nr 37 \n(41u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   541
.in +\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   542
.c+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   543
.in -\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   544
.mk 32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   545
.if \n(32>\n(31 .nr 31 \n(32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   546
.sp |\n(31u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   547
.ne \n(d|u+\n(.Vu
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   548
.ne \n(e|u+\n(.Vu
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   549
.if (\n(d|+\n(#^-1v)>\n(#- .nr #- +(\n(d|+\n(#^-\n(#--1v)
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   550
.if (\n(e|+\n(#^-1v)>\n(#- .nr #- +(\n(e|+\n(#^-\n(#--1v)
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   551
.ta \n(80u \n(81u 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   552
.nr 31 \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   553
.nr 35 1m
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   554
\&\h'|\n(40u'\h'|\n(41u'
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   555
.mk ##
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   556
.nr 31 \n(##
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   557
.sp |\n(##u-1v
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   558
.nr 37 \n(40u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   559
.in +\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   560
.d+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   561
.in -\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   562
.mk 32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   563
.if \n(32>\n(31 .nr 31 \n(32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   564
.sp |\n(##u-1v
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   565
.nr 37 \n(41u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   566
.in +\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   567
.e+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   568
.in -\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   569
.mk 32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   570
.if \n(32>\n(31 .nr 31 \n(32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   571
.sp |\n(31u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   572
.ne \n(f|u+\n(.Vu
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   573
.ne \n(g|u+\n(.Vu
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   574
.if (\n(f|+\n(#^-1v)>\n(#- .nr #- +(\n(f|+\n(#^-\n(#--1v)
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   575
.if (\n(g|+\n(#^-1v)>\n(#- .nr #- +(\n(g|+\n(#^-\n(#--1v)
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   576
.ta \n(80u \n(81u 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   577
.nr 31 \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   578
.nr 35 1m
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   579
\&\h'|\n(40u'\h'|\n(41u'
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   580
.mk ##
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   581
.nr 31 \n(##
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   582
.sp |\n(##u-1v
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   583
.nr 37 \n(40u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   584
.in +\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   585
.f+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   586
.in -\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   587
.mk 32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   588
.if \n(32>\n(31 .nr 31 \n(32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   589
.sp |\n(##u-1v
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   590
.nr 37 \n(41u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   591
.in +\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   592
.g+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   593
.in -\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   594
.mk 32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   595
.if \n(32>\n(31 .nr 31 \n(32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   596
.sp |\n(31u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   597
.ne \n(h|u+\n(.Vu
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   598
.if (\n(h|+\n(#^-1v)>\n(#- .nr #- +(\n(h|+\n(#^-\n(#--1v)
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   599
.ta \n(80u \n(81u 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   600
.nr 31 \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   601
.nr 35 1m
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   602
\&\h'|\n(40u'SIA or SubjectInfoAccess\h'|\n(41u'
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   603
.mk ##
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   604
.nr 31 \n(##
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   605
.sp |\n(##u-1v
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   606
.nr 37 \n(41u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   607
.in +\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   608
.h+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   609
.in -\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   610
.mk 32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   611
.if \n(32>\n(31 .nr 31 \n(32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   612
.sp |\n(31u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   613
.ne \n(i|u+\n(.Vu
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   614
.ne \n(j|u+\n(.Vu
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   615
.if (\n(i|+\n(#^-1v)>\n(#- .nr #- +(\n(i|+\n(#^-\n(#--1v)
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   616
.if (\n(j|+\n(#^-1v)>\n(#- .nr #- +(\n(j|+\n(#^-\n(#--1v)
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   617
.ta \n(80u \n(81u 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   618
.nr 31 \n(.f
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   619
.nr 35 1m
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   620
\&\h'|\n(40u'\h'|\n(41u'
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   621
.mk ##
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   622
.nr 31 \n(##
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   623
.sp |\n(##u-1v
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   624
.nr 37 \n(40u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   625
.in +\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   626
.i+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   627
.in -\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   628
.mk 32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   629
.if \n(32>\n(31 .nr 31 \n(32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   630
.sp |\n(##u-1v
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   631
.nr 37 \n(41u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   632
.in +\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   633
.j+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   634
.in -\n(37u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   635
.mk 32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   636
.if \n(32>\n(31 .nr 31 \n(32
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   637
.sp |\n(31u
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   638
.fc
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   639
.nr T. 1
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   640
.T# 1
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   641
.35
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   642
.rm a+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   643
.rm b+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   644
.rm c+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   645
.rm d+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   646
.rm e+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   647
.rm f+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   648
.rm g+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   649
.rm h+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   650
.rm i+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   651
.rm j+
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   652
.TE
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   653
.if \n-(b.=0 .nr c. \n(.c-\n(d.-38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   654
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   655
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   656
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   657
For name as OID, value is the HEX dumped DER encoding of the extnValue for the extension excluding the OCTET STRING type and length bytes. Any extra character other than standard HEX numbers (0\-9, a\-f, A\-F) are ignored in the HEX string. Therefore, both \f2"01:02:03:04"\fP and \f2"01020304"\fP are accepted as identical values. If there's no value, the extension has an empty value field then.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   658
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   659
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   660
A special name \f2"honored"\fP, used in \-gencert only, denotes how the extensions included in the certificate request should be honored. The value for this name is a comma\-seperated list of \f2"all"\fP (all requested extensions are honored), \f2"name{:[critical|non\-critical]}"\fP (the named extension is honored, but using a different isCritical attribute) and \f2"\-name"\fP (used with all, denotes an exception). Requested extensions are not honored by default.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   661
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   662
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   663
If, besides the \-ext honored option, another named or OID \-ext option is provided, this extension will be added to those already honored. However, if this name (or OID) also appears in the honored value, its value and criticality overrides the one in the request.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   664
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   665
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   666
The subjectKeyIdentifier extension is always created. For non self\-signed certificates, the authorityKeyIdentifier is always created.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   667
.LP
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
   668
.LP
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
   669
\f3Note:\fP Users should be aware that some combinations of extensions (and other certificate fields) may not conform to the Internet standard. See Warning Regarding Certificate Conformance for details.
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
   670
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   671
.RE
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   672
.RE
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   673
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   674
.SH "COMMANDS"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   675
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   676
90ce3da70b43 Initial load
duke
parents:
diff changeset
   677
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   678
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   679
Creating or Adding Data to the Keystore
90ce3da70b43 Initial load
duke
parents:
diff changeset
   680
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   681
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   682
90ce3da70b43 Initial load
duke
parents:
diff changeset
   683
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   684
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   685
.TP 3
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
   686
\-gencert {\-infile infile} {\-outfile outfile} {\-dname dname} {\-ext ext}* {\-rfc} {\-alias alias} {\-sigalg sigalg} {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] [\-keypass keypass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} 
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   687
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   688
Generates a certificate as a response to a certificate request file (which can be created by the \f2keytool \-certreq\fP command). The command reads the request from infile (if omitted, from the standard input), signs it using alias's private key, and output the X.509 certificate into outfile (if omitted, to the standard output). If \f2\-rfc\fP is specified, output format is BASE64\-encoded PEM; otherwise, a binary DER is created. 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   689
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   690
\f2sigalg\fP specifies the algorithm that should be used to sign the certificate. valDays tells the number of days for which the certificate should be considered valid. 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   691
.LP
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
   692
If \f2dname\fP is provided, it's used as the subject of the generated certificate. Otherwise, the one from the certificate request is used. 
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
   693
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   694
\f2ext\fP shows what X.509 extensions will be embedded in the certificate. Read Common Options for the grammar of \f2\-ext\fP.  
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   695
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   696
\-genkeypair {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} {\-sigalg sigalg} [\-dname dname] [\-keypass keypass] {\-startdate value} {\-validity valDays} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   697
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   698
Generates a key pair (a public key and associated private key). Wraps the public key into an X.509 v3 self\-signed certificate, which is stored as a single\-element certificate chain. This certificate chain and the private key are stored in a new keystore entry identified by \f2alias\fP. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   699
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   700
\f2keyalg\fP specifies the algorithm to be used to generate the key pair, and \f2keysize\fP specifies the size of each key to be generated. \f2sigalg\fP specifies the algorithm that should be used to sign the self\-signed certificate; this algorithm must be compatible with \f2keyalg\fP. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   701
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   702
\f2dname\fP specifies the X.500 Distinguished Name to be associated with \f2alias\fP, and is used as the \f2issuer\fP and \f2subject\fP fields in the self\-signed certificate. If no distinguished name is provided at the command line, the user will be prompted for one. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   703
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   704
\f2keypass\fP is a password used to protect the private key of the generated key pair. If no password is provided, the user is prompted for it. If you press RETURN at the prompt, the key password is set to the same password as that used for the keystore. \f2keypass\fP must be at least 6 characters long. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   705
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   706
\f2startdate\fP specifies the issue time of the certificate, also known as the "Not Before" value of the X.509 certificate's Validity field. 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   707
.RS 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   708
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   709
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   710
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   711
The option value can be set in one of these two forms:
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   712
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   713
.RS 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   714
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   715
1.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   716
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   717
([+\-]\f2nnn\fP[ymdHMS])+  
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   718
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   719
2.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   720
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   721
[yyyy/mm/dd] [HH:MM:SS]  
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   722
.RE
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   723
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   724
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   725
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   726
With the first form, the issue time is shifted by the specified value from the current time. The value is a concatenation of a sequence of sub values. Inside each sub value, the plus sign ("+") means shifting forward, and the minus sign ("\-") means shifting backward. The time to be shifted is \f2nnn\fP units of years, months, days, hours, minutes, or seconds (denoted by a single character of "y", "m", "d", "H", "M", or "S" respectively). The exact value of the issue time is calculated using the \f2java.util.GregorianCalendar.add(int field, int amount)\fP method on each sub value, from left to right. For example, by specifying \f2"\-startdate \-1y+1m\-1d"\fP, the issue time will be:
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   727
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   728
.RS 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   729
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   730
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   731
.nf
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   732
\f3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   733
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   734
   Calendar c = new GregorianCalendar();
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   735
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   736
   c.add(Calendar.YEAR, \-1);
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   737
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   738
   c.add(Calendar.MONTH, 1);
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   739
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   740
   c.add(Calendar.DATE, \-1);
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   741
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   742
   return c.getTime()
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   743
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   744
\fP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   745
.fi
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   746
.RE
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   747
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   748
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   749
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   750
With the second form, the user sets the exact issue time in two parts, year/month/day and hour:minute:second (using the local timezone). The user may provide only one part, which means the other part is the same as the current date (or time). User must provide the exact number of digits as shown in the format definition (padding with 0 if shorter). When both the date and time are provided, there is one (and only one) space character between the two parts. The hour should always be provided in 24 hour format.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   751
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   752
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   753
When the option is not provided, the start date is the current time. The option can be provided at most once.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   754
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   755
.RE
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   756
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   757
\f2valDays\fP specifies the number of days (starting at the date specified by \f2\-startdate\fP, or the current date if \f2\-startdate\fP is not specified) for which the certificate should be considered valid. 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   758
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   759
This command was named \f2\-genkey\fP in previous releases. This old name is still supported in this release and will be supported in future releases, but for clarity the new name, \f2\-genkeypair\fP, is preferred going forward.  
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   760
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   761
\-genseckey {\-alias alias} {\-keyalg keyalg} {\-keysize keysize} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   762
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   763
Generates a secret key and stores it in a new \f2KeyStore.SecretKeyEntry\fP identified by \f2alias\fP. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   764
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   765
\f2keyalg\fP specifies the algorithm to be used to generate the secret key, and \f2keysize\fP specifies the size of the key to be generated. \f2keypass\fP is a password used to protect the secret key. If no password is provided, the user is prompted for it. If you press RETURN at the prompt, the key password is set to the same password as that used for the keystore. \f2keypass\fP must be at least 6 characters long.  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   766
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   767
\-importcert {\-alias alias} {\-file cert_file} [\-keypass keypass] {\-noprompt} {\-trustcacerts} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   768
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   769
Reads the certificate or certificate chain (where the latter is supplied in a PKCS#7 formatted reply or a sequence of X.509 certificates) from the file \f2cert_file\fP, and stores it in the keystore entry identified by \f2alias\fP. If no file is given, the certificate or certificate chain is read from stdin. 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   770
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   771
\f3keytool\fP can import X.509 v1, v2, and v3 certificates, and PKCS#7 formatted certificate chains consisting of certificates of that type. The data to be imported must be provided either in binary encoding format, or in printable encoding format (also known as Base64 encoding) as defined by the Internet RFC 1421 standard. In the latter case, the encoding must be bounded at the beginning by a string that starts with "\-\-\-\-\-BEGIN", and bounded at the end by a string that starts with "\-\-\-\-\-END". 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   772
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   773
You import a certificate for two reasons: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   774
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   775
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   776
1.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   777
to add it to the list of trusted certificates, or 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   778
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   779
2.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   780
to import a certificate reply received from a CA as the result of submitting a Certificate Signing Request (see the \-certreq command) to that CA. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   781
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   782
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   783
Which type of import is intended is indicated by the value of the \f2\-alias\fP option: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   784
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   785
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   786
1.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   787
\f3If the alias does not point to a key entry\fP, then \f3keytool\fP assumes you are adding a trusted certificate entry. In this case, the alias should not already exist in the keystore. If the alias does already exist, then \f3keytool\fP outputs an error, since there is already a trusted certificate for that alias, and does not import the certificate. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   788
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   789
2.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   790
\f3If the alias points to a key entry\fP, then \f3keytool\fP assumes you are importing a certificate reply. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   791
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   792
\f3Importing a New Trusted Certificate\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   793
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   794
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   795
Before adding the certificate to the keystore, \f3keytool\fP tries to verify it by attempting to construct a chain of trust from that certificate to a self\-signed certificate (belonging to a root CA), using trusted certificates that are already available in the keystore.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   796
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   797
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   798
If the \f2\-trustcacerts\fP option has been specified, additional certificates are considered for the chain of trust, namely the certificates in a file named "cacerts".
90ce3da70b43 Initial load
duke
parents:
diff changeset
   799
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   800
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   801
If \f3keytool\fP fails to establish a trust path from the certificate to be imported up to a self\-signed certificate (either from the keystore or the "cacerts" file), the certificate information is printed out, and the user is prompted to verify it, e.g., by comparing the displayed certificate fingerprints with the fingerprints obtained from some other (trusted) source of information, which might be the certificate owner himself/herself. Be very careful to ensure the certificate is valid prior to importing it as a "trusted" certificate! \-\- see WARNING Regarding Importing Trusted Certificates. The user then has the option of aborting the import operation. If the \f2\-noprompt\fP option is given, however, there will be no interaction with the user.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   802
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   803
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   804
\f3Importing a Certificate Reply\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   805
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   806
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   807
When importing a certificate reply, the certificate reply is validated using trusted certificates from the keystore, and optionally using the certificates configured in the "cacerts" keystore file (if the \f2\-trustcacerts\fP option was specified).
90ce3da70b43 Initial load
duke
parents:
diff changeset
   808
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   809
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   810
The methods of determining whether the certificate reply is trusted are described in the following:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   811
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   812
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   813
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   814
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
   815
\f3If the reply is a single X.509 certificate\fP, \f3keytool\fP attempts to establish a trust chain, starting at the certificate reply and ending at a self\-signed certificate (belonging to a root CA). The certificate reply and the hierarchy of certificates used to authenticate the certificate reply form the new certificate chain of \f2alias\fP. If a trust chain cannot be established, the certificate reply is not imported. In this case, \f3keytool\fP does not print out the certificate and prompt the user to verify it, because it is very hard (if not impossible) for a user to determine the authenticity of the certificate reply. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   816
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   817
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   818
\f3If the reply is a PKCS#7 formatted certificate chain or a sequence of X.509 certificates\fP, the chain is ordered with the user certificate first followed by zero or more CA certificates. If the chain ends with a self\-signed root CA certificate and \f2\-trustcacerts\fP option was specified, \f3keytool\fP will attempt to match it with any of the trusted certificates in the keystore or the "cacerts" keystore file. If the chain does not end with a self\-signed root CA certificate and the \f2\-trustcacerts\fP option was specified, \f3keytool\fP will try to find one from the trusted certificates in the keystore or the "cacerts" keystore file and add it to the end of the chain. If the certificate is not found and \f2\-noprompt\fP option is not specified, the information of the last certificate in the chain is printed out, and the user is prompted to verify it. 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   819
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   820
90ce3da70b43 Initial load
duke
parents:
diff changeset
   821
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   822
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   823
If the public key in the certificate reply matches the user's public key already stored with under \f2alias\fP, the old certificate chain is replaced with the new certificate chain in the reply. The old chain can only be replaced if a valid \f2keypass\fP, the password used to protect the private key of the entry, is supplied. If no password is provided, and the private key password is different from the keystore password, the user is prompted for it.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   824
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   825
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   826
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   827
This command was named \f2\-import\fP in previous releases. This old name is still supported in this release and will be supported in future releases, but for clarify the new name, \f2\-importcert\fP, is preferred going forward.    
90ce3da70b43 Initial load
duke
parents:
diff changeset
   828
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   829
\-importkeystore \-srckeystore srckeystore \-destkeystore destkeystore {\-srcstoretype srcstoretype} {\-deststoretype deststoretype} [\-srcstorepass srcstorepass] [\-deststorepass deststorepass] {\-srcprotected} {\-destprotected} {\-srcalias srcalias {\-destalias destalias} [\-srckeypass srckeypass] [\-destkeypass destkeypass] } {\-noprompt} {\-srcProviderName src_provider_name} {\-destProviderName dest_provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   830
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   831
Imports a single entry or all entries from a source keystore to a destination keystore. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   832
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   833
When the \f2srcalias\fP option is provided, the command imports the single entry identified by the alias to the destination keystore. If a destination alias is not provided with \f2destalias\fP, then \f2srcalias\fP is used as the destination alias. If the source entry is protected by a password, \f2srckeypass\fP will be used to recover the entry. If \f2srckeypass\fP is not provided, then \f3keytool\fP will attempt to use \f2srcstorepass\fP to recover the entry. If \f2srcstorepass\fP is either not provided or is incorrect, the user will be prompted for a password. The destination entry will be protected using \f2destkeypass\fP. If \f2destkeypass\fP is not provided, the destination entry will be protected with the source entry password. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   834
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   835
If the \f2srcalias\fP option is not provided, then all entries in the source keystore are imported into the destination keystore. Each destination entry will be stored under the alias from the source entry. If the source entry is protected by a password, \f2srcstorepass\fP will be used to recover the entry. If \f2srcstorepass\fP is either not provided or is incorrect, the user will be prompted for a password. If a source keystore entry type is not supported in the destination keystore, or if an error occurs while storing an entry into the destination keystore, the user will be prompted whether to skip the entry and continue, or to quit. The destination entry will be protected with the source entry password. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   836
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   837
If the destination alias already exists in the destination keystore, the user is prompted to either overwrite the entry, or to create a new entry under a different alias name. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   838
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   839
Note that if \f2\-noprompt\fP is provided, the user will not be prompted for a new destination alias. Existing entries will automatically be overwritten with the destination alias name. Finally, entries that can not be imported are automatically skipped and a warning is output.  
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   840
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   841
\-printcertreq {\-file file} 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   842
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   843
Prints the content of a PKCS #10 format certificate request, which can be generated by the keytool \-certreq command. The command reads the request from file; if omitted, from the standard input.  
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   844
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   845
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   846
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   847
Exporting Data
90ce3da70b43 Initial load
duke
parents:
diff changeset
   848
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   849
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   850
90ce3da70b43 Initial load
duke
parents:
diff changeset
   851
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   852
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   853
.TP 3
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
   854
\-certreq {\-alias alias} {\-dname dname} {\-sigalg sigalg} {\-file certreq_file} [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   855
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   856
Generates a Certificate Signing Request (CSR), using the PKCS#10 format. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   857
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   858
A CSR is intended to be sent to a certificate authority (CA). The CA will authenticate the certificate requestor (usually off\-line) and will return a certificate or certificate chain, used to replace the existing certificate chain (which initially consists of a self\-signed certificate) in the keystore. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   859
.LP
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
   860
The private key associated with \f2alias\fP is used to create the PKCS#10 certificate request. In order to access the private key, the appropriate password must be provided, since private keys are protected in the keystore with a password. If \f2keypass\fP is not provided at the command line, and is different from the password used to protect the integrity of the keystore, the user is prompted for it. If dname is provided, it's used as the subject in the CSR. Otherwise, the X.500 Distinguished Name associated with alias is used. 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   861
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   862
\f2sigalg\fP specifies the algorithm that should be used to sign the CSR. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   863
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   864
The CSR is stored in the file \f2certreq_file\fP. If no file is given, the CSR is output to stdout. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   865
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   866
Use the \f2importcert\fP command to import the response from the CA.  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   867
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   868
\-exportcert {\-alias alias} {\-file cert_file} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-rfc} {\-v} {\-protected} {\-Jjavaoption} 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   869
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   870
Reads (from the keystore) the certificate associated with \f2alias\fP, and stores it in the file \f2cert_file\fP. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   871
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   872
If no file is given, the certificate is output to stdout. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   873
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   874
The certificate is by default output in binary encoding, but will instead be output in the printable encoding format, as defined by the Internet RFC 1421 standard, if the \f2\-rfc\fP option is specified. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   875
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   876
If \f2alias\fP refers to a trusted certificate, that certificate is output. Otherwise, \f2alias\fP refers to a key entry with an associated certificate chain. In that case, the first certificate in the chain is returned. This certificate authenticates the public key of the entity addressed by \f2alias\fP. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   877
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   878
This command was named \f2\-export\fP in previous releases. This old name is still supported in this release and will be supported in future releases, but for clarify the new name, \f2\-exportcert\fP, is preferred going forward.  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   879
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   880
90ce3da70b43 Initial load
duke
parents:
diff changeset
   881
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   882
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   883
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   884
Displaying Data
90ce3da70b43 Initial load
duke
parents:
diff changeset
   885
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   886
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   887
90ce3da70b43 Initial load
duke
parents:
diff changeset
   888
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   889
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   890
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   891
\-list {\-alias alias} {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v | \-rfc} {\-protected} {\-Jjavaoption} 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   892
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   893
Prints (to stdout) the contents of the keystore entry identified by \f2alias\fP. If no alias is specified, the contents of the entire keystore are printed. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   894
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   895
This command by default prints the SHA1 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, with additional information such as the owner, issuer, serial number, and any extensions. If the \f2\-rfc\fP option is specified, certificate contents are printed using the printable encoding format, as defined by the Internet RFC 1421 standard 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   896
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   897
You cannot specify both \f2\-v\fP and \f2\-rfc\fP.  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   898
.TP 3
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   899
\-printcert {\-file cert_file | \-sslserver host[:port]} {\-rfc} {\-v} {\-Jjavaoption} 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   900
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   901
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   902
If \f2\-rfc\fP is specified, keytool prints the certificate in PEM mode as defined by the Internet RFC 1421 standard. 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   903
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   904
If the certificate is read from a file or stdin, it may be either binary encoded or in printable encoding format, as defined by the Internet RFC 1421 standard 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   905
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   906
If the SSL server is behind a firewall, \f2\-J\-Dhttps.proxyHost=proxyhost\fP and \f2\-J\-Dhttps.proxyPort=proxyport\fP can be specified on the command line for proxy tunneling. See the JSSE Reference Guide for more information. 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   907
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   908
\f3Note\fP: This option can be used independently of a keystore.  
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   909
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   910
90ce3da70b43 Initial load
duke
parents:
diff changeset
   911
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   912
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   913
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   914
Managing the Keystore
90ce3da70b43 Initial load
duke
parents:
diff changeset
   915
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   916
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   917
90ce3da70b43 Initial load
duke
parents:
diff changeset
   918
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   919
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   920
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   921
\-storepasswd [\-new new_storepass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption} 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   922
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   923
Changes the password used to protect the integrity of the keystore contents. The new password is \f2new_storepass\fP, which must be at least 6 characters long.  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   924
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   925
\-keypasswd {\-alias alias} [\-keypass old_keypass] [\-new new_keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-Jjavaoption} 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   926
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   927
Changes the password under which the private/secret key identified by \f2alias\fP is protected, from \f2old_keypass\fP to \f2new_keypass\fP, which must be at least 6 characters long. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   928
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   929
If the \f2\-keypass\fP option is not provided at the command line, and the key password is different from the keystore password, the user is prompted for it. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   930
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   931
If the \f2\-new\fP option is not provided at the command line, the user is prompted for it.  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   932
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   933
\-delete [\-alias alias] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   934
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   935
Deletes from the keystore the entry identified by \f2alias\fP. The user is prompted for the alias, if no alias is provided at the command line.  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   936
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   937
\-changealias {\-alias alias} [\-destalias destalias] [\-keypass keypass] {\-storetype storetype} {\-keystore keystore} [\-storepass storepass] {\-providerName provider_name} {\-providerClass provider_class_name {\-providerArg provider_arg}} {\-v} {\-protected} {\-Jjavaoption} 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   938
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   939
Move an existing keystore entry from the specified \f2alias\fP to a new alias, \f2destalias\fP. If no destination alias is provided, the command will prompt for one. If the original entry is protected with an entry password, the password can be supplied via the "\-keypass" option. If no key password is provided, the \f2storepass\fP (if given) will be attempted first. If that attempt fails, the user will be prompted for a password.  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   940
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   941
90ce3da70b43 Initial load
duke
parents:
diff changeset
   942
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   943
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   944
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   945
Getting Help
90ce3da70b43 Initial load
duke
parents:
diff changeset
   946
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   947
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   948
90ce3da70b43 Initial load
duke
parents:
diff changeset
   949
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   950
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   951
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   952
\-help 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   953
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   954
Lists the basic commands and their options.  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   955
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   956
90ce3da70b43 Initial load
duke
parents:
diff changeset
   957
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   958
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   959
.SH "EXAMPLES"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   960
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   961
90ce3da70b43 Initial load
duke
parents:
diff changeset
   962
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   963
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   964
Suppose you want to create a keystore for managing your public/private key pair and certificates from entities you trust.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   965
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   966
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   967
Generating Your Key Pair
90ce3da70b43 Initial load
duke
parents:
diff changeset
   968
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   969
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   970
90ce3da70b43 Initial load
duke
parents:
diff changeset
   971
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   972
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   973
The first thing you need to do is create a keystore and generate the key pair. You could use a command such as the following:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   974
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   975
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
   976
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
   977
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   978
    keytool \-genkeypair \-dname "cn=Mark Jones, ou=JavaSoft, o=Sun, c=US"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   979
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   980
      \-alias business \-keypass kpi135 \-keystore /working/mykeystore
90ce3da70b43 Initial load
duke
parents:
diff changeset
   981
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   982
      \-storepass ab987c \-validity 180
90ce3da70b43 Initial load
duke
parents:
diff changeset
   983
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
   984
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   985
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   986
90ce3da70b43 Initial load
duke
parents:
diff changeset
   987
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   988
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   989
(Please note: This must be typed as a single line. Multiple lines are used in the examples just for legibility purposes.)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   990
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   991
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   992
This command creates the keystore named "mykeystore" in the "working" directory (assuming it doesn't already exist), and assigns it the password "ab987c". It generates a public/private key pair for the entity whose "distinguished name" has a common name of "Mark Jones", organizational unit of "JavaSoft", organization of "Sun" and two\-letter country code of "US". It uses the default "DSA" key generation algorithm to create the keys, both 1024 bits long.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   993
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   994
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   995
It creates a self\-signed certificate (using the default "SHA1withDSA" signature algorithm) that includes the public key and the distinguished name information. This certificate will be valid for 180 days, and is associated with the private key in a keystore entry referred to by the alias "business". The private key is assigned the password "kpi135".
90ce3da70b43 Initial load
duke
parents:
diff changeset
   996
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   997
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   998
The command could be significantly shorter if option defaults were accepted. As a matter of fact, no options are required; defaults are used for unspecified options that have default values, and you are prompted for any required values. Thus, you could simply have the following:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   999
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1000
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1001
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1002
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1003
    keytool \-genkeypair
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1004
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1005
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1006
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1007
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1008
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1009
In this case, a keystore entry with alias "mykey" is created, with a newly\-generated key pair and a certificate that is valid for 90 days. This entry is placed in the keystore named ".keystore" in your home directory. (The keystore is created if it doesn't already exist.) You will be prompted for the distinguished name information, the keystore password, and the private key password. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1010
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1011
The rest of the examples assume you executed the \f2\-genkeypair\fP command without options specified, and that you responded to the prompts with values equal to those given in the first \f2\-genkeypair\fP command, above (a private key password of "kpi135", etc.)
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1012
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1013
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1014
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1015
Requesting a Signed Certificate from a Certification Authority
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1016
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1017
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1018
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1019
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1020
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1021
So far all we've got is a self\-signed certificate. A certificate is more likely to be trusted by others if it is signed by a Certification Authority (CA). To get such a signature, you first generate a Certificate Signing Request (CSR), via the following:
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1022
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1023
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1024
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1025
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1026
    keytool \-certreq \-file MarkJ.csr
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1027
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1028
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1029
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1030
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1031
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1032
This creates a CSR (for the entity identified by the default alias "mykey") and puts the request in the file named "MarkJ.csr". Submit this file to a CA, such as VeriSign, Inc. The CA will authenticate you, the requestor (usually off\-line), and then will return a certificate, signed by them, authenticating your public key. (In some cases, they will actually return a chain of certificates, each one authenticating the public key of the signer of the previous certificate in the chain.)
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1033
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1034
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1035
Importing a Certificate for the CA
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1036
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1037
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1038
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1039
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1040
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1041
You need to replace your self\-signed certificate with a certificate chain, where each certificate in the chain authenticates the public key of the signer of the previous certificate in the chain, up to a "root" CA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1042
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1043
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1044
Before you import the certificate reply from a CA, you need one or more "trusted certificates" in your keystore or in the \f2cacerts\fP keystore file (which is described in importcert command):
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1045
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1046
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1047
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1048
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1049
If the certificate reply is a certificate chain, you just need the top certificate of the chain (that is, the "root" CA certificate authenticating that CA's public key). 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1050
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1051
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1052
If the certificate reply is a single certificate, you need a certificate for the issuing CA (the one that signed it), and if that certificate is not self\-signed, you need a certificate for its signer, and so on, up to a self\-signed "root" CA certificate. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1053
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1054
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1055
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1056
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1057
The "cacerts" keystore file ships with five VeriSign root CA certificates, so you probably won't need to import a VeriSign certificate as a trusted certificate in your keystore. But if you request a signed certificate from a different CA, and a certificate authenticating that CA's public key hasn't been added to "cacerts", you will need to import a certificate from the CA as a "trusted certificate".
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1058
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1059
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1060
A certificate from a CA is usually either self\-signed, or signed by another CA (in which case you also need a certificate authenticating that CA's public key). Suppose company ABC, Inc., is a CA, and you obtain a file named "ABCCA.cer" that is purportedly a self\-signed certificate from ABC, authenticating that CA's public key.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1061
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1062
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1063
Be very careful to ensure the certificate is valid prior to importing it as a "trusted" certificate! View it first (using the \f3keytool\fP \f2\-printcert\fP command, or the \f3keytool\fP \f2\-importcert\fP command without the \f2\-noprompt\fP option), and make sure that the displayed certificate fingerprint(s) match the expected ones. You can call the person who sent the certificate, and compare the fingerprint(s) that you see with the ones that they show (or that a secure public key repository shows). Only if the fingerprints are equal is it guaranteed that the certificate has not been replaced in transit with somebody else's (for example, an attacker's) certificate. If such an attack took place, and you did not check the certificate before you imported it, you would end up trusting anything the attacker has signed.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1064
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1065
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1066
If you trust that the certificate is valid, then you can add it to your keystore via the following:
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1067
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1068
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1069
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1070
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1071
    keytool \-importcert \-alias abc \-file ABCCA.cer
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1072
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1073
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1074
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1075
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1076
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1077
This creates a "trusted certificate" entry in the keystore, with the data from the file "ABCCA.cer", and assigns the alias "abc" to the entry.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1078
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1079
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1080
Importing the Certificate Reply from the CA
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1081
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1082
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1083
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1084
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1085
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1086
Once you've imported a certificate authenticating the public key of the CA you submitted your certificate signing request to (or there's already such a certificate in the "cacerts" file), you can import the certificate reply and thereby replace your self\-signed certificate with a certificate chain. This chain is the one returned by the CA in response to your request (if the CA reply is a chain), or one constructed (if the CA reply is a single certificate) using the certificate reply and trusted certificates that are already available in the keystore where you import the reply or in the "cacerts" keystore file.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1087
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1088
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1089
For example, suppose you sent your certificate signing request to VeriSign. You can then import the reply via the following, which assumes the returned certificate is named "VSMarkJ.cer":
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1090
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1091
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1092
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1093
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1094
    keytool \-importcert \-trustcacerts \-file VSMarkJ.cer
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1095
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1096
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1097
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1098
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1099
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1100
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1101
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1102
Exporting a Certificate Authenticating Your Public Key
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1103
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1104
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1105
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1106
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1107
Suppose you have used the jarsigner(1) tool to sign a Java ARchive (JAR) file. Clients that want to use the file will want to authenticate your signature. 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1108
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1109
One way they can do this is by first importing your public key certificate into their keystore as a "trusted" entry. You can export the certificate and supply it to your clients. As an example, you can copy your certificate to a file named \f2MJ.cer\fP via the following, assuming the entry is aliased by "mykey":
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1110
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1111
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1112
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1113
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1114
    keytool \-exportcert \-alias mykey \-file MJ.cer
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1115
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1116
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1117
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1118
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1119
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1120
Given that certificate, and the signed JAR file, a client can use the \f3jarsigner\fP tool to authenticate your signature.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1121
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1122
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1123
Importing Keystore
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1124
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1125
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1126
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1127
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1128
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1129
The command "importkeystore" is used to import an entire keystore into another keystore, which means all entries from the source keystore, including keys and certificates, are all imported to the destination keystore within a single command. You can use this command to import entries from a different type of keystore. During the import, all new entries in the destination keystore will have the same alias names and protection passwords (for secret keys and private keys). If \f3keytool\fP has difficulties recover the private keys or secret keys from the source keystore, it will prompt you for a password. If it detects alias duplication, it will ask you for a new one, you can specify a new alias or simply allow \f3keytool\fP to overwrite the existing one.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1130
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1131
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1132
For example, to import entries from a normal JKS type keystore key.jks into a PKCS #11 type hardware based keystore, you can use the command:
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1133
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1134
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1135
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1136
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1137
keytool \-importkeystore
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1138
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1139
    \-srckeystore key.jks \-destkeystore NONE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1140
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1141
    \-srcstoretype JKS \-deststoretype PKCS11
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1142
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1143
    \-srcstorepass changeit \-deststorepass topsecret
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1144
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1145
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1146
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1147
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1148
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1149
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1150
The importkeystore command can also be used to import a single entry from a source keystore to a destination keystore. In this case, besides the options you see in the above example, you need to specify the alias you want to import. With the srcalias option given, you can also specify the desination alias name in the command line, as well as protection password for a secret/private key and the destination protection password you want. In this way, you can issue a \f3keytool\fP command that will never ask you a question. This makes it very convenient to include a \f3keytool\fP command into a script file, like this:
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1151
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1152
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1153
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1154
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1155
keytool \-importkeystore
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1156
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1157
    \-srckeystore key.jks \-destkeystore NONE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1158
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1159
    \-srcstoretype JKS \-deststoretype PKCS11
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1160
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1161
    \-srcstorepass changeit \-deststorepass topsecret
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1162
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1163
    \-srcalias myprivatekey \-destalias myoldprivatekey
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1164
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1165
    \-srckeypass oldkeypass \-destkeypass mynewkeypass
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1166
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1167
    \-noprompt
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1168
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1169
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1170
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1171
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1172
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1173
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1174
.SS 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1175
Generating Certificates for a typical SSL Server
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1176
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1177
.RS 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1178
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1179
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1180
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1181
Keytool commands to generate keypairs and certificates for three entities, namely, Root CA (root), Intermadiate CA (ca), and SSL server (server) are as follows:
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1182
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1183
.nf
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1184
\f3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1185
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1186
keytool \-keystore root.jks \-genkeypair \-alias root \-ext bc:c
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1187
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1188
keytool \-keystore ca.jks \-alias ca
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1189
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1190
keytool \-keystore server.jks \-alias server
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1191
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1192
 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1193
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1194
keytool \-keystore root.jks \-alias root \-exportcert > root.pem
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1195
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1196
 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1197
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1198
keytool \-keystore ca.jks \-certreq \-alias ca | keytool \-keystore root.jks \-gencert \-alias root \-ext BC=0 > ca.pem
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1199
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1200
keytool \-keystore ca.jks \-importcert \-alias ca \-file ca.pem
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1201
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1202
 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1203
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1204
keytool \-keystore server.jks \-certreq \-alias server | keytool \-keystore ca.jks \-gencert \-alias ca \-ext ku:c=dig,kE >server.pem 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1205
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1206
cat root.pem ca.pem server.pem | keytool \-keystore server.jks \-importcert \-alias server
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1207
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1208
\fP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1209
.fi
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1210
.RE
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1211
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1212
.LP
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1213
.SH "TERMINOLOGY and WARNINGS"
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1214
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1215
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1216
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1217
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1218
KeyStore
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1219
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1220
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1221
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1222
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1223
A keystore is a storage facility for cryptographic keys and certificates.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1224
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1225
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1226
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1227
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1228
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1229
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1230
\f3KeyStore Entries\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1231
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1232
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1233
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1234
Keystores may have different types of entries. The two most applicable entry types for \f3keytool\fP include: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1235
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1236
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1237
1.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1238
\f3key entries\fP \- each holds very sensitive cryptographic key information, which is stored in a protected format to prevent unauthorized access. Typically, a key stored in this type of entry is a secret key, or a private key accompanied by the certificate "chain" for the corresponding public key. The \f3keytool\fP can handle both types od entry, while \f3jarsigner\fP tool only handle the latter type of entry, that is private keys and their associated certificate chains. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1239
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1240
2.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1241
\f3trusted certificate entries\fP \- each contains a single public key certificate belonging to another party. It is called a "trusted certificate" because the keystore owner trusts that the public key in the certificate indeed belongs to the identity identified by the "subject" (owner) of the certificate. The issuer of the certificate vouches for this, by signing the certificate. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1242
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1243
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1244
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1245
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1246
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1247
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1248
\f3KeyStore Aliases\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1249
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1250
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1251
All keystore entries (key and trusted certificate entries) are accessed via unique \f2aliases\fP.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1252
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1253
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1254
An alias is specified when you add an entity to the keystore using the \-genseckey command to generate a secret key, \-genkeypair command to generate a key pair (public and private key) or the \-importcert command to add a certificate or certificate chain to the list of trusted certificates. Subsequent \f3keytool\fP commands must use this same alias to refer to the entity.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1255
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1256
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1257
For example, suppose you use the alias \f2duke\fP to generate a new public/private key pair and wrap the public key into a self\-signed certificate (see Certificate Chains) via the following command:
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1258
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1259
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1260
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1261
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1262
    keytool \-genkeypair \-alias duke \-keypass dukekeypasswd
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1263
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1264
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1265
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1266
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1267
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1268
This specifies an inital password of "dukekeypasswd" required by subsequent commands to access the private key assocated with the alias \f2duke\fP. If you later want to change duke's private key password, you use a command like the following: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1269
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1270
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1271
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1272
    keytool \-keypasswd \-alias duke \-keypass dukekeypasswd \-new newpass
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1273
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1274
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1275
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1276
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1277
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1278
This changes the password from "dukekeypasswd" to "newpass". 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1279
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1280
Please note: A password should not actually be specified on a command line or in a script unless it is for testing purposes, or you are on a secure system. If you don't specify a required password option on a command line, you will be prompted for it.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1281
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1282
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1283
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1284
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1285
\f3KeyStore Implementation\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1286
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1287
The \f2KeyStore\fP class provided in the \f2java.security\fP package supplies well\-defined interfaces to access and modify the information in a keystore. It is possible for there to be multiple different concrete implementations, where each implementation is that for a particular \f2type\fP of keystore. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1288
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1289
Currently, two command\-line tools (\f3keytool\fP and \f3jarsigner\fP) and a GUI\-based tool named \f3Policy Tool\fP make use of keystore implementations. Since \f2KeyStore\fP is publicly available, users can write additional security applications that use it.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1290
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1291
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1292
There is a built\-in default implementation, provided by Sun Microsystems. It implements the keystore as a file, utilizing a proprietary keystore type (format) named "JKS". It protects each private key with its individual password, and also protects the integrity of the entire keystore with a (possibly different) password.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1293
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1294
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1295
Keystore implementations are provider\-based. More specifically, the application interfaces supplied by \f2KeyStore\fP are implemented in terms of a "Service Provider Interface" (SPI). That is, there is a corresponding abstract \f2KeystoreSpi\fP class, also in the \f2java.security\fP package, which defines the Service Provider Interface methods that "providers" must implement. (The term "provider" refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API.) Thus, to provide a keystore implementation, clients must implement a "provider" and supply a KeystoreSpi subclass implementation, as described in 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1296
.na
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1297
\f2How to Implement a Provider for the Java Cryptography Architecture\fP @
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1298
.fi
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1299
http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/HowToImplAProvider.html.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1300
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1301
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1302
Applications can choose different \f2types\fP of keystore implementations from different providers, using the "getInstance" factory method supplied in the \f2KeyStore\fP class. A keystore type defines the storage and data format of the keystore information, and the algorithms used to protect private/secret keys in the keystore and the integrity of the keystore itself. Keystore implementations of different types are not compatible.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1303
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1304
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1305
\f3keytool\fP works on any file\-based keystore implementation. (It treats the keytore location that is passed to it at the command line as a filename and converts it to a FileInputStream, from which it loads the keystore information.) The \f3jarsigner\fP and \f3policytool\fP tools, on the other hand, can read a keystore from any location that can be specified using a URL.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1306
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1307
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1308
For \f3keytool\fP and \f3jarsigner\fP, you can specify a keystore type at the command line, via the \f2\-storetype\fP option. For \f3Policy Tool\fP, you can specify a keystore type via the "Keystore" menu.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1309
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1310
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1311
If you don't explicitly specify a keystore type, the tools choose a keystore implementation based simply on the value of the \f2keystore.type\fP property specified in the security properties file. The security properties file is called \f2java.security\fP, and it resides in the security properties directory, \f2java.home\fP/lib/security, where \f2java.home\fP is the runtime environment's directory (the \f2jre\fP directory in the SDK or the top\-level directory of the Java 2 Runtime Environment).
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1312
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1313
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1314
Each tool gets the \f2keystore.type\fP value and then examines all the currently\-installed providers until it finds one that implements keystores of that type. It then uses the keystore implementation from that provider.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1315
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1316
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1317
The \f2KeyStore\fP class defines a static method named \f2getDefaultType\fP that lets applications and applets retrieve the value of the \f2keystore.type\fP property. The following line of code creates an instance of the default keystore type (as specified in the \f2keystore.type\fP property):
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1318
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1319
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1320
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1321
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1322
    KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1323
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1324
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1325
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1326
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1327
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1328
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1329
The default keystore type is "jks" (the proprietary type of the keystore implementation provided by Sun). This is specified by the following line in the security properties file:
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1330
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1331
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1332
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1333
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1334
    keystore.type=jks
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1335
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1336
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1337
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1338
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1339
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1340
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1341
To have the tools utilize a keystore implementation other than the default, you can change that line to specify a different keystore type.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1342
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1343
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1344
For example, if you have a provider package that supplies a keystore implementation for a keystore type called "pkcs12", change the line to
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1345
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1346
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1347
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1348
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1349
    keystore.type=pkcs12
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1350
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1351
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1352
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1353
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1354
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1355
Note: case doesn't matter in keystore type designations. For example, "JKS" would be considered the same as "jks".
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1356
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1357
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1358
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1359
Certificate
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1360
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1361
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1362
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1363
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1364
A \f3certificate\fP (also known as a \f3public\-key certificate\fP) is a digitally signed statement from one entity (the \f2issuer\fP), saying that the public key (and some other information) of another entity (the \f2subject\fP) has some specific value.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1365
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1366
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1367
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1368
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1369
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1370
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1371
\f3Certificate Terms\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1372
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1373
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1374
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1375
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1376
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1377
Public Keys 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1378
These are numbers associated with a particular entity, and are intended to be known to everyone who needs to have trusted interactions with that entity. Public keys are used to verify signatures. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1379
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1380
Digitally Signed 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1381
If some data is \f2digitally signed\fP it has been stored with the "identity" of an entity, and a signature that proves that entity knows about the data. The data is rendered unforgeable by signing with the entity's private key. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1382
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1383
Identity 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1384
A known way of addressing an entity. In some systems the identity is the public key, in others it can be anything from a Unix UID to an Email address to an X.509 Distinguished Name. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1385
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1386
Signature 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1387
A signature is computed over some data using the private key of an entity (the \f2signer\fP, which in the case of a certificate is also known as the \f2issuer\fP). 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1388
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1389
Private Keys 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1390
These are numbers, each of which is supposed to be known only to the particular entity whose private key it is (that is, it's supposed to be kept secret). Private and public keys exist in pairs in all public key cryptography systems (also referred to as "public key crypto systems"). In a typical public key crypto system, such as DSA, a private key corresponds to exactly one public key. Private keys are used to compute signatures. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1391
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1392
Entity 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1393
An entity is a person, organization, program, computer, business, bank, or something else you are trusting to some degree. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1394
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1395
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1396
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1397
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1398
Basically, public key cryptography requires access to users' public keys. In a large\-scale networked environment it is impossible to guarantee that prior relationships between communicating entities have been established or that a trusted repository exists with all used public keys. Certificates were invented as a solution to this public key distribution problem. Now a \f2Certification Authority\fP (CA) can act as a trusted third party. CAs are entities (for example, businesses) that are trusted to sign (issue) certificates for other entities. It is assumed that CAs will only create valid and reliable certificates, as they are bound by legal agreements. There are many public Certification Authorities, such as 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1399
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1400
\f2VeriSign\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1401
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1402
http://www.verisign.com/, 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1403
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1404
\f2Thawte\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1405
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1406
http://www.thawte.com/, 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1407
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1408
\f2Entrust\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1409
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1410
http://www.entrust.com/, and so on. You can also run your own Certification Authority using products such as the Netscape/Microsoft Certificate Servers or the Entrust CA product for your organization.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1411
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1412
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1413
Using \f3keytool\fP, it is possible to display, import, and export certificates. It is also possible to generate self\-signed certificates.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1414
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1415
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1416
\f3keytool\fP currently handles X.509 certificates.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1417
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1418
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1419
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1420
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1421
\f3X.509 Certificates\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1422
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1423
The X.509 standard defines what information can go into a certificate, and describes how to write it down (the data format). All the data in a certificate is encoded using two related standards called ASN.1/DER. \f2Abstract Syntax Notation 1\fP describes data. The \f2Definite Encoding Rules\fP describe a single way to store and transfer that data. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1424
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1425
All X.509 certificates have the following data, in addition to the signature:
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1426
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1427
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1428
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1429
Version 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1430
This identifies which version of the X.509 standard applies to this certificate, which affects what information can be specified in it. Thus far, three versions are defined. \f3keytool\fP can import and export v1, v2, and v3 certificates. It generates v3 certificates. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1431
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1432
\f2X.509 Version 1\fP has been available since 1988, is widely deployed, and is the most generic. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1433
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1434
\f2X.509 Version 2\fP introduced the concept of subject and issuer unique identifiers to handle the possibility of reuse of subject and/or issuer names over time. Most certificate profile documents strongly recommend that names not be reused, and that certificates should not make use of unique identifiers. Version 2 certificates are not widely used. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1435
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1436
\f2X.509 Version 3\fP is the most recent (1996) and supports the notion of extensions, whereby anyone can define an extension and include it in the certificate. Some common extensions in use today are: \f2KeyUsage\fP (limits the use of the keys to particular purposes such as "signing\-only") and \f2AlternativeNames\fP (allows other identities to also be associated with this public key, e.g. DNS names, Email addresses, IP addresses). Extensions can be marked \f2critical\fP to indicate that the extension should be checked and enforced/used. For example, if a certificate has the KeyUsage extension marked critical and set to "keyCertSign" then if this certificate is presented during SSL communication, it should be rejected, as the certificate extension indicates that the associated private key should only be used for signing certificates and not for SSL use.  
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1437
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1438
Serial Number 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1439
The entity that created the certificate is responsible for assigning it a serial number to distinguish it from other certificates it issues. This information is used in numerous ways, for example when a certificate is revoked its serial number is placed in a Certificate Revocation List (CRL). 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1440
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1441
Signature Algorithm Identifier 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1442
This identifies the algorithm used by the CA to sign the certificate. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1443
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1444
Issuer Name 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1445
The X.500 Distinguished Name of the entity that signed the certificate. This is normally a CA. Using this certificate implies trusting the entity that signed this certificate. (Note that in some cases, such as \f2root or top\-level\fP CA certificates, the issuer signs its own certificate.) 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1446
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1447
Validity Period 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1448
Each certificate is valid only for a limited amount of time. This period is described by a start date and time and an end date and time, and can be as short as a few seconds or almost as long as a century. The validity period chosen depends on a number of factors, such as the strength of the private key used to sign the certificate or the amount one is willing to pay for a certificate. This is the expected period that entities can rely on the public value, if the associated private key has not been compromised. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1449
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1450
Subject Name 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1451
The name of the entity whose public key the certificate identifies. This name uses the X.500 standard, so it is intended to be unique across the Internet. This is the X.500 Distinguished Name (DN) of the entity, for example, 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1452
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1453
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1454
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1455
    CN=Java Duke, OU=Java Software Division, O=Sun Microsystems Inc, C=US
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1456
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1457
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1458
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1459
(These refer to the subject's Common Name, Organizational Unit, Organization, and Country.) 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1460
.TP 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1461
Subject Public Key Information 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1462
This is the public key of the entity being named, together with an algorithm identifier which specifies which public key crypto system this key belongs to and any associated key parameters. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1463
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1464
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1465
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1466
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1467
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1468
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1469
\f3Certificate Chains\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1470
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1471
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1472
\f3keytool\fP can create and manage keystore "key" entries that each contain a private key and an associated certificate "chain". The first certificate in the chain contains the public key corresponding to the private key.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1473
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1474
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1475
When keys are first generated (see the \-genkeypair command), the chain starts off containing a single element, a \f2self\-signed certificate\fP. A self\-signed certificate is one for which the issuer (signer) is the same as the subject (the entity whose public key is being authenticated by the certificate). Whenever the \f2\-genkeypair\fP command is called to generate a new public/private key pair, it also wraps the public key into a self\-signed certificate.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1476
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1477
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1478
Later, after a Certificate Signing Request (CSR) has been generated (see the \-certreq command) and sent to a Certification Authority (CA), the response from the CA is imported (see \-importcert), and the self\-signed certificate is replaced by a chain of certificates. At the bottom of the chain is the certificate (reply) issued by the CA authenticating the subject's public key. The next certificate in the chain is one that authenticates the \f2CA\fP's public key.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1479
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1480
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1481
In many cases, this is a self\-signed certificate (that is, a certificate from the CA authenticating its own public key) and the last certificate in the chain. In other cases, the CA may return a chain of certificates. In this case, the bottom certificate in the chain is the same (a certificate signed by the CA, authenticating the public key of the key entry), but the second certificate in the chain is a certificate signed by a \f2different\fP CA, authenticating the public key of the CA you sent the CSR to. Then, the next certificate in the chain will be a certificate authenticating the second CA's key, and so on, until a self\-signed "root" certificate is reached. Each certificate in the chain (after the first) thus authenticates the public key of the signer of the previous certificate in the chain.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1482
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1483
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1484
Many CAs only return the issued certificate, with no supporting chain, especially when there is a flat hierarchy (no intermediates CAs). In this case, the certificate chain must be established from trusted certificate information already stored in the keystore.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1485
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1486
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1487
A different reply format (defined by the PKCS#7 standard) also includes the supporting certificate chain, in addition to the issued certificate. Both reply formats can be handled by \f3keytool\fP.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1488
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1489
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1490
The top\-level (root) CA certificate is self\-signed. However, the trust into the root's public key does not come from the root certificate itself (anybody could generate a self\-signed certificate with the distinguished name of say, the VeriSign root CA!), but from other sources like a newspaper. The root CA public key is widely known. The only reason it is stored in a certificate is because this is the format understood by most tools, so the certificate in this case is only used as a "vehicle" to transport the root CA's public key. Before you add the root CA certificate to your keystore, you should view it (using the \f2\-printcert\fP option) and compare the displayed fingerprint with the well\-known fingerprint (obtained from a newspaper, the root CA's webpage, etc.).
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1491
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1492
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1493
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1494
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1495
\f3The cacerts Certificates File\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1496
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1497
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1498
A certificates file named \f3"cacerts"\fP resides in the security properties directory, \f2java.home\fP/lib/security, where \f2java.home\fP is the runtime environment's directory (the \f2jre\fP directory in the SDK or the top\-level directory of the Java 2 Runtime Environment).
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1499
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1500
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1501
The "cacerts" file represents a system\-wide keystore with CA certificates. System administrators can configure and manage that file using \f3keytool\fP, specifying "jks" as the keystore type. The "cacerts" keystore file ships with several root CA certificates with the following aliases and X.500 owner distinguished names:
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1502
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1503
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1504
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1505
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1506
\f3Alias\fP: thawtepersonalfreemailca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1507
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1508
\f3Owner DN\fP: EmailAddress=personal\-freemail@thawte.com,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1509
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1510
CN=Thawte Personal Freemail CA,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1511
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1512
OU=Certification Services Division,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1513
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1514
O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1515
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1516
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1517
\f3Alias\fP: thawtepersonalbasicca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1518
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1519
\f3Owner DN\fP: EmailAddress=personal\-basic@thawte.com,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1520
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1521
CN=Thawte Personal Basic CA,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1522
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1523
OU=Certification Services Division,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1524
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1525
O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1526
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1527
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1528
\f3Alias\fP: thawtepersonalpremiumca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1529
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1530
\f3Owner DN\fP: EmailAddress=personal\-premium@thawte.com,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1531
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1532
CN=Thawte Personal Premium CA,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1533
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1534
OU=Certification Services Division,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1535
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1536
O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1537
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1538
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1539
\f3Alias\fP: thawteserverca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1540
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1541
\f3Owner DN\fP: EmailAddress=server\-certs@thawte.com,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1542
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1543
CN=Thawte Server CA, OU=Certification Services Division,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1544
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1545
O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1546
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1547
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1548
\f3Alias\fP: thawtepremiumserverca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1549
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1550
\f3Owner DN\fP: EmailAddress=premium\-server@thawte.com,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1551
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1552
CN=Thawte Premium Server CA,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1553
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1554
OU=Certification Services Division,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1555
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1556
O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1557
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1558
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1559
\f3Alias\fP: verisignclass1ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1560
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1561
\f3Owner DN\fP: OU=Class 1 Public Primary Certification Authority,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1562
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1563
O="VeriSign, Inc.", C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1564
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1565
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1566
\f3Alias\fP: verisignclass2ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1567
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1568
\f3Owner DN\fP: OU=Class 2 Public Primary Certification Authority,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1569
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1570
O="VeriSign, Inc.", C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1571
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1572
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1573
\f3Alias\fP: verisignclass3ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1574
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1575
\f3Owner DN\fP: OU=Class 3 Public Primary Certification Authority,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1576
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1577
O="VeriSign, Inc.", C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1578
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1579
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1580
\f3Alias\fP: verisignserverca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1581
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1582
\f3Owner DN\fP: OU=Secure Server Certification Authority,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1583
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1584
O="RSA Data Security, Inc.", C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1585
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1586
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1587
\f3Alias\fP: verisignclass1g2ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1588
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1589
\f3Owner DN\fP: OU=VeriSign Trust Network,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1590
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1591
OU="(c) 1998 VeriSign, Inc. \- For authorized use only",
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1592
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1593
OU=Class 1 Public Primary Certification Authority \- G2,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1594
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1595
O="VeriSign, Inc.", C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1596
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1597
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1598
\f3Alias\fP: verisignclass1g3ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1599
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1600
\f3Owner DN\fP: CN=VeriSign Class 1 Public Primary Certification Authority \- G3, OU="(c) 1999 VeriSign, Inc. \- For authorized use only",
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1601
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1602
OU=VeriSign Trust Network,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1603
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1604
O="VeriSign, Inc.", C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1605
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1606
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1607
\f3Alias\fP: verisignclass2g2ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1608
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1609
\f3Owner DN\fP: OU=VeriSign Trust Network,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1610
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1611
OU="(c) 1998 VeriSign, Inc. \- For authorized use only",
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1612
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1613
OU=Class 2 Public Primary Certification Authority \- G2,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1614
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1615
O="VeriSign, Inc.", C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1616
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1617
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1618
\f3Alias\fP: verisignclass2g3ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1619
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1620
\f3Owner DN\fP: CN=VeriSign Class 2 Public Primary Certification Authority \- G3,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1621
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1622
OU="(c) 1999 VeriSign, Inc. \- For authorized use only",
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1623
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1624
OU=VeriSign Trust Network,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1625
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1626
O="VeriSign, Inc.", C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1627
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1628
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1629
\f3Alias\fP: verisignclass3g2ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1630
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1631
\f3Owner DN\fP: OU=VeriSign Trust Network,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1632
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1633
OU="(c) 1998 VeriSign, Inc. \- For authorized use only",
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1634
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1635
OU=Class 3 Public Primary Certification Authority \- G2,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1636
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1637
O="VeriSign, Inc.", C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1638
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1639
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1640
\f3Alias\fP: verisignclass3g3ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1641
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1642
\f3Owner DN\fP: CN=VeriSign Class 3 Public Primary Certification Authority \- G3,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1643
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1644
OU="(c) 1999 VeriSign, Inc. \- For authorized use only",
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1645
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1646
OU=VeriSign Trust Network,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1647
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1648
O="VeriSign, Inc.", C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1649
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1650
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1651
\f3Alias\fP: baltimorecodesigningca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1652
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1653
\f3Owner DN\fP: CN=Baltimore CyberTrust Code Signing Root,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1654
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1655
OU=CyberTrust, O=Baltimore, C=IE 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1656
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1657
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1658
\f3Alias\fP: gtecybertrustglobalca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1659
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1660
\f3Owner DN\fP: CN=GTE CyberTrust Global Root,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1661
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1662
OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1663
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1664
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1665
\f3Alias\fP: baltimorecybertrustca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1666
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1667
\f3Owner DN\fP: CN=Baltimore CyberTrust Root,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1668
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1669
OU=CyberTrust, O=Baltimore, C=IE 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1670
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1671
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1672
\f3Alias\fP: gtecybertrust5ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1673
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1674
\f3Owner DN\fP: CN=GTE CyberTrust Root 5,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1675
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1676
OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1677
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1678
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1679
\f3Alias\fP: entrustclientca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1680
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1681
\f3Owner DN\fP: CN=Entrust.net Client Certification Authority,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1682
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1683
OU=(c) 1999 Entrust.net Limited,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1684
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1685
OU=www.entrust.net/Client_CA_Info/CPS incorp. by ref. limits liab.,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1686
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1687
O=Entrust.net, C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1688
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1689
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1690
\f3Alias\fP: entrustglobalclientca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1691
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1692
\f3Owner DN\fP: CN=Entrust.net Client Certification Authority,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1693
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1694
OU=(c) 2000 Entrust.net Limited,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1695
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1696
OU=www.entrust.net/GCCA_CPS incorp. by ref. (limits liab.),
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1697
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1698
O=Entrust.net 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1699
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1700
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1701
\f3Alias\fP: entrust2048ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1702
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1703
\f3Owner DN\fP: CN=Entrust.net Certification Authority (2048),
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1704
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1705
OU=(c) 1999 Entrust.net Limited,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1706
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1707
OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1708
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1709
O=Entrust.net 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1710
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1711
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1712
\f3Alias\fP: entrustsslca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1713
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1714
\f3Owner DN\fP: CN=Entrust.net Secure Server Certification Authority,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1715
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1716
OU=(c) 1999 Entrust.net Limited,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1717
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1718
OU=www.entrust.net/CPS incorp. by ref. (limits liab.),
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1719
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1720
O=Entrust.net, C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1721
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1722
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1723
\f3Alias\fP: entrustgsslca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1724
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1725
\f3Owner DN\fP: CN=Entrust.net Secure Server Certification Authority,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1726
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1727
OU=(c) 2000 Entrust.net Limited,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1728
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1729
OU=www.entrust.net/SSL_CPS incorp. by ref. (limits liab.),
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1730
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1731
O=Entrust.net 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1732
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1733
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1734
\f3Alias\fP: godaddyclass2ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1735
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1736
\f3Owner DN\fP: OU=Go Daddy Class 2 Certification Authority,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1737
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1738
O="The Go Daddy Group, Inc.", C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1739
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1740
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1741
\f3Alias\fP: starfieldclass2ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1742
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1743
\f3Owner DN\fP: OU=Starfield Class 2 Certification Authority,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1744
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1745
O="Starfield Technologies, Inc.", C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1746
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1747
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1748
\f3Alias\fP: valicertclass2ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1749
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1750
\f3Owner DN\fP: EMAILADDRESS=info@valicert.com,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1751
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1752
CN=http://www.valicert.com/,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1753
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1754
OU=ValiCert Class 2 Policy Validation Authority,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1755
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1756
O="ValiCert, Inc.", L=ValiCert Validation Network 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1757
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1758
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1759
\f3Alias\fP: geotrustglobalca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1760
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1761
\f3Owner DN\fP: CN=GeoTrust Global CA,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1762
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1763
O=GeoTrust Inc., C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1764
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1765
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1766
\f3Alias\fP: equifaxsecureca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1767
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1768
\f3Owner DN\fP: OU=Equifax Secure Certificate Authority,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1769
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1770
O=Equifax, C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1771
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1772
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1773
\f3Alias\fP: equifaxsecureebusinessca1
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1774
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1775
\f3Owner DN\fP: CN=Equifax Secure eBusiness CA\-1,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1776
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1777
O=Equifax Secure Inc., C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1778
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1779
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1780
\f3Alias\fP: equifaxsecureebusinessca2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1781
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1782
\f3Owner DN\fP: OU=Equifax Secure eBusiness CA\-2,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1783
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1784
O=Equifax Secure, C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1785
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1786
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1787
\f3Alias\fP: equifaxsecureglobalebusinessca1
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1788
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1789
\f3Owner DN\fP: CN=Equifax Secure Global eBusiness CA\-1,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1790
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1791
O=Equifax Secure Inc., C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1792
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1793
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1794
\f3Alias\fP: soneraclass1ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1795
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1796
\f3Owner DN\fP: CN=Sonera Class1 CA, O=Sonera, C=FI 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1797
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1798
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1799
\f3Alias\fP: soneraclass2ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1800
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1801
\f3Owner DN\fP: CN=Sonera Class2 CA, O=Sonera, C=FI 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1802
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1803
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1804
\f3Alias\fP: comodoaaaca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1805
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1806
\f3Owner DN\fP: CN=AAA Certificate Services,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1807
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1808
O=Comodo CA Limited, L=Salford, ST=Greater Manchester, C=GB 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1809
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1810
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1811
\f3Alias\fP: addtrustclass1ca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1812
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1813
\f3Owner DN\fP: CN=AddTrust Class 1 CA Root,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1814
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1815
OU=AddTrust TTP Network, O=AddTrust AB, C=SE 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1816
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1817
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1818
\f3Alias\fP: addtrustexternalca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1819
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1820
\f3Owner DN\fP: CN=AddTrust External CA Root,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1821
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1822
OU=AddTrust External TTP Network, O=AddTrust AB, C=SE 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1823
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1824
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1825
\f3Alias\fP: addtrustqualifiedca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1826
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1827
\f3Owner DN\fP: CN=AddTrust Qualified CA Root,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1828
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1829
OU=AddTrust TTP Network, O=AddTrust AB, C=SE 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1830
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1831
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1832
\f3Alias\fP: utnuserfirsthardwareca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1833
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1834
\f3Owner DN\fP: CN=UTN\-USERFirst\-Hardware,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1835
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1836
OU=http://www.usertrust.com, O=The USERTRUST Network,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1837
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1838
L=Salt Lake City, ST=UT, C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1839
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1840
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1841
\f3Alias\fP: utnuserfirstclientauthemailca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1842
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1843
\f3Owner DN\fP: CN=UTN\-USERFirst\-Client Authentication and Email,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1844
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1845
OU=http://www.usertrust.com, O=The USERTRUST Network,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1846
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1847
L=Salt Lake City, ST=UT, C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1848
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1849
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1850
\f3Alias\fP: utndatacorpsgcca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1851
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1852
\f3Owner DN\fP: CN=UTN \- DATACorp SGC,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1853
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1854
OU=http://www.usertrust.com, O=The USERTRUST Network,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1855
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1856
L=Salt Lake City, ST=UT, C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1857
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1858
*
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1859
\f3Alias\fP: utnuserfirstobjectca
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1860
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1861
\f3Owner DN\fP: CN=UTN\-USERFirst\-Object,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1862
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1863
OU=http://www.usertrust.com, O=The USERTRUST Network,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1864
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1865
L=Salt Lake City, ST=UT, C=US 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1866
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1867
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1868
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1869
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1870
The initial password of the "cacerts" keystore file is "changeit". System administrators should change that password and the default access permission of that file upon installing the SDK.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1871
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1872
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1873
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1874
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1875
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1876
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1877
\f3IMPORTANT: Verify Your \fP\f4cacerts\fP\f3 File\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1878
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1879
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1880
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1881
Since you trust the CAs in the \f2cacerts\fP file as entities for signing and issuing certificates to other entities, you must manage the \f2cacerts\fP file carefully. The \f2cacerts\fP file should contain only certificates of the CAs you trust. It is your responsibility to verify the trusted root CA certificates bundled in the \f2cacerts\fP file and make your own trust decisions. To remove an untrusted CA certificate from the \f2cacerts\fP file, use the delete option of the \f2keytool\fP command. You can find the \f2cacerts\fP file in the JRE installation directory. Contact your system administrator if you do not have permission to edit this file.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1882
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1883
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1884
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1885
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1886
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1887
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1888
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1889
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1890
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1891
\f3The Internet RFC 1421 Certificate Encoding Standard\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1892
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1893
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1894
Certificates are often stored using the printable encoding format defined by the Internet RFC 1421 standard, instead of their binary encoding. This certificate format, also known as "Base 64 encoding", facilitates exporting certificates to other applications by email or through some other mechanism.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1895
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1896
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1897
Certificates read by the \f2\-importcert\fP and \f2\-printcert\fP commands can be in either this format or binary encoded.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1898
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1899
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1900
The \f2\-exportcert\fP command by default outputs a certificate in binary encoding, but will instead output a certificate in the printable encoding format, if the \f2\-rfc\fP option is specified.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1901
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1902
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  1903
The \f2\-list\fP command by default prints the SHA1 fingerprint of a certificate. If the \f2\-v\fP option is specified, the certificate is printed in human\-readable format, while if the \f2\-rfc\fP option is specified, the certificate is output in the printable encoding format.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1904
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1905
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1906
In its printable encoding format, the encoded certificate is bounded at the beginning by
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1907
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1908
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1909
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1910
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1911
\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\-
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1912
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1913
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1914
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1915
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1916
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1917
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1918
and at the end by
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1919
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1920
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1921
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1922
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1923
\-\-\-\-\-END CERTIFICATE\-\-\-\-\-
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1924
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1925
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1926
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1927
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1928
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1929
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1930
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1931
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1932
X.500 Distinguished Names
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1933
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1934
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1935
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1936
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1937
X.500 Distinguished Names are used to identify entities, such as those which are named by the \f2subject\fP and \f2issuer\fP (signer) fields of X.509 certificates. \f3keytool\fP supports the following subparts: 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1938
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1939
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1940
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1941
\f2commonName\fP \- common name of a person, e.g., "Susan Jones" 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1942
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1943
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1944
\f2organizationUnit\fP \- small organization (e.g, department or division) name, e.g., "Purchasing" 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1945
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1946
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1947
\f2organizationName\fP \- large organization name, e.g., "ABCSystems, Inc." 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1948
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1949
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1950
\f2localityName\fP \- locality (city) name, e.g., "Palo Alto" 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1951
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1952
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1953
\f2stateName\fP \- state or province name, e.g., "California" 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1954
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1955
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1956
\f2country\fP \- two\-letter country code, e.g., "CH" 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1957
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1958
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1959
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1960
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1961
When supplying a distinguished name string as the value of a \f2\-dname\fP option, as for the \f2\-genkeypair\fP  command, the string must be in the following format:
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1962
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1963
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1964
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1965
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1966
CN=\fP\f4cName\fP\f3, OU=\fP\f4orgUnit\fP\f3, O=\fP\f4org\fP\f3, L=\fP\f4city\fP\f3, S=\fP\f4state\fP\f3, C=\fP\f4countryCode\fP\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1967
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1968
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1969
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1970
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1971
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1972
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1973
where all the italicized items represent actual values and the above keywords are abbreviations for the following:
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1974
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1975
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1976
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1977
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1978
       CN=commonName
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1979
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1980
        OU=organizationUnit
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1981
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1982
        O=organizationName
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1983
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1984
        L=localityName
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1985
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1986
        S=stateName
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1987
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1988
        C=country
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1989
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1990
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1991
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1992
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1993
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1994
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1995
A sample distinguished name string is
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1996
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1997
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1998
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  1999
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2000
CN=Mark Smith, OU=JavaSoft, O=Sun, L=Cupertino, S=California, C=US
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2001
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2002
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2003
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2004
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2005
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2006
and a sample command using such a string is 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2007
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2008
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2009
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2010
keytool \-genkeypair \-dname "CN=Mark Smith, OU=JavaSoft, O=Sun, L=Cupertino,
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2011
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2012
S=California, C=US" \-alias mark
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2013
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2014
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2015
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2016
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2017
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2018
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2019
Case does not matter for the keyword abbreviations. For example, "CN", "cn", and "Cn" are all treated the same.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2020
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2021
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2022
Order matters; each subcomponent must appear in the designated order. However, it is not necessary to have all the subcomponents. You may use a subset, for example:
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2023
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2024
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2025
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2026
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2027
CN=Steve Meier, OU=SunSoft, O=Sun, C=US
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2028
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2029
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2030
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2031
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2032
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2033
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2034
If a distinguished name string value contains a comma, the comma must be escaped by a "\\" character when you specify the string on a command line, as in
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2035
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2036
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2037
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2038
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2039
   cn=peter schuster, o=Sun Microsystems\\, Inc., o=sun, c=us
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2040
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2041
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2042
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2043
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2044
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2045
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2046
It is never necessary to specify a distinguished name string on a command line. If it is needed for a command, but not supplied on the command line, the user is prompted for each of the subcomponents. In this case, a comma does not need to be escaped by a "\\".
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2047
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2048
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2049
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2050
WARNING Regarding Importing Trusted Certificates
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2051
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2052
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2053
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2054
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2055
IMPORTANT: Be sure to check a certificate very carefully before importing it as a trusted certificate! 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2056
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2057
View it first (using the \f2\-printcert\fP command, or the \f2\-importcert\fP command without the \f2\-noprompt\fP option), and make sure that the displayed certificate fingerprint(s) match the expected ones. For example, suppose someone sends or emails you a certificate, and you put it in a file named \f2/tmp/cert\fP. Before you consider adding the certificate to your list of trusted certificates, you can execute a \f2\-printcert\fP command to view its fingerprints, as in
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2058
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2059
.nf
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2060
\f3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2061
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2062
  keytool \-printcert \-file /tmp/cert
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2063
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2064
    Owner: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2065
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2066
    Issuer: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2067
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2068
    Serial Number: 59092b34
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2069
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2070
    Valid from: Thu Sep 25 18:01:13 PDT 1997 until: Wed Dec 24 17:01:13 PST 1997
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2071
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2072
    Certificate Fingerprints:
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2073
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2074
         MD5:  11:81:AD:92:C8:E5:0E:A2:01:2E:D4:7A:D7:5F:07:6F
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2075
.fl
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2076
         SHA1: 20:B6:17:FA:EF:E5:55:8A:D0:71:1F:E8:D6:9D:C0:37:13:0E:5E:FE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2077
.fl
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2078
         SHA256: 90:7B:70:0A:EA:DC:16:79:92:99:41:FF:8A:FE:EB:90:
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2079
.fl
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2080
                 17:75:E0:90:B2:24:4D:3A:2A:16:A6:E4:11:0F:67:A4
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2081
.fl
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2082
\fP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2083
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2084
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2085
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2086
Then call or otherwise contact the person who sent the certificate, and compare the fingerprint(s) that you see with the ones that they show. Only if the fingerprints are equal is it guaranteed that the certificate has not been replaced in transit with somebody else's (for example, an attacker's) certificate. If such an attack took place, and you did not check the certificate before you imported it, you would end up trusting anything the attacker has signed (for example, a JAR file with malicious class files inside). 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2087
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2088
Note: it is not required that you execute a \f2\-printcert\fP command prior to importing a certificate, since before adding a certificate to the list of trusted certificates in the keystore, the \f2\-importcert\fP command prints out the certificate information and prompts you to verify it. You then have the option of aborting the import operation. Note, however, this is only the case if you invoke the \f2\-importcert\fP command without the \f2\-noprompt\fP option. If the \f2\-noprompt\fP option is given, there is no interaction with the user.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2089
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2090
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2091
.SS 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2092
Warning Regarding Passwords
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2093
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2094
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2095
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2096
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2097
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2098
Most commands operating on a keystore require the store password. Some commands require a private/secret key password.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2099
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2100
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2101
Passwords can be specified on the command line (in the \f2\-storepass\fP and \f2\-keypass\fP options, respectively). However, a password should not be specified on a command line or in a script unless it is for testing purposes, or you are on a secure system.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2102
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2103
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2104
If you don't specify a required password option on a command line, you will be prompted for it.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2105
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2106
.RE
5865
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2107
.SS 
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2108
Warning Regarding Certificate Conformance
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2109
.LP
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2110
.RS 3
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2111
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2112
.LP
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2113
.LP
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2114
The Internet standard 
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2115
.na
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2116
\f2RFC 5280\fP @
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2117
.fi
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2118
http://tools.ietf.org/rfc/rfc5280.txt has defined a profile on conforming X.509 certificates, which includes what values and value combinations are valid for certificate fields and extensions. \f3keytool\fP has not enforced all these rules so it can generate certificates which do not conform to the standard, and these certificates might be rejected by JRE or other applications. Users should make sure that they provide the correct options for \f2\-dname\fP, \f2\-ext\fP, etc.
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2119
.LP
47da38a8c0f0 6955341: Oracle rebranding changes for man pages
bpatel
parents: 5506
diff changeset
  2120
.RE
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2121
.SH "SEE ALSO"
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2122
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2123
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2124
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2125
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2126
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2127
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  2128
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  2129
jar(1) tool documentation  
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2130
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2131
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  2132
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  2133
jarsigner(1) tool documentation  
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2134
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2135
o
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  2136
.LP
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2137
the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2138
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2139
\f4Security\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2140
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2141
http://java.sun.com/docs/books/tutorial/security/index.html trail of the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2142
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2143
\f4Java Tutorial\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2144
.fi
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
  2145
http://java.sun.com/docs/books/tutorial for examples of the use of \f3keytool\fP  
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2146
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2147
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2148
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2149
.SH "CHANGES"
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2150
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2151
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2152
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2153
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2154
The command interface for keytool changed in Java SE 6.
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2155
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2156
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2157
\f3keytool\fP no longer displays password input when entered by users. Since password input can no longer be viewed when entered, users will be prompted to re\-enter passwords any time a password is being set or changed (for example, when setting the initial keystore password, or when changing a key password).
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2158
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2159
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2160
Some commands have simply been renamed, and other commands deemed obsolete are no longer listed in this document. All previous commands (both renamed and obsolete) are still supported in this release and will continue to be supported in future releases. The following summarizes all of the changes made to the keytool command interface:
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2161
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2162
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2163
Renamed commands:
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2164
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2165
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2166
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2167
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2168
\f2\-export\fP, renamed to \f2\-exportcert\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2169
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2170
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2171
\f2\-genkey\fP, renamed to \f2\-genkeypair\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2172
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2173
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2174
\f2\-import\fP, renamed to \f2\-importcert\fP 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2175
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2176
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2177
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2178
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2179
Commands deemed obsolete and no longer documented:
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2180
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2181
.RS 3
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2182
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2183
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2184
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2185
\f2\-keyclone\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2186
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2187
http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html#keycloneCmd 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2188
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2189
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2190
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2191
\f2\-identitydb\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2192
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2193
http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html#identitydbCmd 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2194
.TP 2
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2195
o
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2196
.na
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2197
\f2\-selfcert\fP @
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2198
.fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2199
http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html#selfcertCmd 
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2200
.RE
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2201
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2202
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
  2203