Add support for the modified SGC key format used in IIS.
[openssl.git] / doc / apps / req.pod
index e836f187acebb1cf587b54b0ad91030191319e03..7c7a5d86b3089c8d1bb384878c5dc198bf8109d8 100644 (file)
@@ -11,11 +11,9 @@ B<openssl> B<req>
 [B<-inform PEM|DER>]
 [B<-outform PEM|DER>]
 [B<-in filename>]
-[B<-passin password>]
-[B<-envpassin var>]
+[B<-passin arg>]
 [B<-out filename>]
-[B<-passout password>]
-[B<-envpassout var>]
+[B<-passout arg>]
 [B<-text>]
 [B<-noout>]
 [B<-verify>]
@@ -31,7 +29,8 @@ B<openssl> B<req>
 [B<-config filename>]
 [B<-x509>]
 [B<-days n>]
-[B<-noasn1-kludge>]
+[B<-asn1-kludge>]
+[B<-newhdr>]
 [B<-extensions section>]
 [B<-reqexts section>]
 
@@ -63,28 +62,20 @@ This specifies the input filename to read a request from or standard input
 if this option is not specified. A request is only read if the creation
 options (B<-new> and B<-newkey>) are not specified.
 
-=item B<-passin password>
+=item B<-passin arg>
 
-the input file password. Since certain utilities like "ps" make the command line
-visible this option should be used with caution.
-
-=item B<-envpassin var>
-
-read the input file password from the environment variable B<var>.
+the input file password source. For more information about the format of B<arg>
+see the B<PASS PHRASE ARGUMENTS> section in L<openssl(1)|openssl(1)>.
 
 =item B<-out filename>
 
 This specifies the output filename to write to or standard output by
 default.
 
-=item B<-passout password>
-
-the output file password. Since certain utilities like "ps" make the command line
-visible this option should be used with caution.
-
-=item B<-envpassout var>
+=item B<-passout arg>
 
-read the output file password from the environment variable B<var>.
+the output file password source. For more information about the format of B<arg>
+see the B<PASS PHRASE ARGUMENTS> section in L<openssl(1)|openssl(1)>.
 
 =item B<-text>
 
@@ -167,6 +158,7 @@ when the B<-x509> option is being used this specifies the number of
 days to certify the certificate for. The default is 30 days.
 
 =item B<-extensions section>
+
 =item B<-reqexts section>
 
 these options specify alternative sections to include certificate
@@ -190,6 +182,11 @@ B<SET OF> whereas the correct form does.
 
 It should be noted that very few CAs still require the use of this option.
 
+=item B<-newhdr>
+
+Adds the word B<NEW> to the PEM file header and footer lines on the outputed
+request. Some software (Netscape certificate server) and some CAs need this.
+
 =back
 
 =head1 CONFIGURATION FILE FORMAT
@@ -207,8 +204,8 @@ The options available are described in detail below.
 
 The passwords for the input private key file (if present) and
 the output private key file (if one will be created). The
-command line options B<passin>, B<envpassin>, B<passout> and
-B<envpassout> override the configuration file values.
+command line options B<passin> and B<passout> override the
+configuration file values.
 
 =item B<default_bits>
 
@@ -239,7 +236,8 @@ and long names are the same when this option is used.
 =item B<RANDFILE>
 
 This specifies a filename in which random number seed information is
-placed and read from. It is used for private key generation.
+placed and read from, or an EGD socket (see L<RAND_egd(3)|RAND_egd(3)>).
+It is used for private key generation.
 
 =item B<encrypt_key>
 
@@ -308,13 +306,13 @@ just consist of field names and values: for example,
 
  CN=My Name
  OU=My Organization
- emailAddress=someone@somehere.org
+ emailAddress=someone@somewhere.org
 
 This allows external programs (e.g. GUI based) to generate a template file
 with all the field names and values and just pass it to B<req>. An example
-of this kind of configuration files is contained in the B<EXAMPLES> section.
+of this kind of configuration file is contained in the B<EXAMPLES> section.
 
-Alternatively if the B<prompt> option is absent or not set to B<no> the the
+Alternatively if the B<prompt> option is absent or not set to B<no> then the
 file contains field prompting information. It consists of lines of the form:
 
  fieldName="prompt"
@@ -337,7 +335,7 @@ two characters long and must fit in a PrintableString).
 Some fields (such as organizationName) can be used more than once
 in a DN. This presents a problem because configuration files will
 not recognize the same name occurring twice. To avoid this problem
-if the fieldName contains an some characters followed by a full stop
+if the fieldName contains some characters followed by a full stop
 they will be ignored. So for example a second organizationName can
 be input by calling it "1.organizationName".
 
@@ -345,8 +343,7 @@ The actual permitted field names are any object identifier short or
 long names. These are compiled into OpenSSL and include the usual
 values such as commonName, countryName, localityName, organizationName,
 organizationUnitName, stateOrPrivinceName. Additionally emailAddress
-is include as well as name, surname, givenName initials and dnQualifier
-are supported.
+is include as well as name, surname, givenName initials and dnQualifier.
 
 Additional object identifiers can be defined with the B<oid_file> or
 B<oid_section> options in the configuration file. Any additional fields
@@ -449,7 +446,7 @@ Sample configuration containing all field values:
 
 =head1 NOTES
 
-The header and footer lines in the B<PEM> format are respectively:
+The header and footer lines in the B<PEM> format are normally:
 
  -----BEGIN CERTIFICATE REQUEST----
  -----END CERTIFICATE REQUEST----
@@ -459,7 +456,8 @@ some software (some versions of Netscape certificate server) instead needs:
  -----BEGIN NEW CERTIFICATE REQUEST----
  -----END NEW CERTIFICATE REQUEST----
 
-but is otherwise compatible. Either form is accepted on input.
+which is produced with the B<-newhdr> option but is otherwise compatible.
+Either form is accepted transparently on input.
 
 The certificate requests generated by B<Xenroll> with MSIE have extensions
 added. It includes the B<keyUsage> extension which determines the type of
@@ -525,6 +523,7 @@ address in subjectAltName should be input by the user.
 
 =head1 SEE ALSO
 
-x509(1), ca(1), genrsa(1), gendsa(1), config(5)
+L<x509(1)|x509(1)>, L<ca(1)|ca(1)>, L<genrsa(1)|genrsa(1)>,
+L<gendsa(1)|gendsa(1)>, L<config(5)|config(5)>
 
 =cut