doc update
[gnutls:gnutls.git] / src / certtool-args.def
1 AutoGen Definitions options;
2 prog-name     = certtool;
3 prog-title    = "GnuTLS certificate tool";
4 prog-desc     = "Manipulate certificates and private keys.";
5 detail    = "Tool to parse and generate X.509 certificates, requests and private keys.
6 It can be used interactively or non interactively by
7 specifying the template command line option.
8
9 The tool accepts files or URLs supported by GnuTLS. In case PIN is required for the URL
10 access you can provide it using the environment variables GNUTLS_PIN and GNUTLS_SO_PIN.
11 ";
12 short-usage   = "certtool [options]\ncerttool --help for usage instructions.\n";
13 explain       = "";
14
15 #define  INFILE_OPT    1
16 #define  OUTFILE_OPT   1
17 #define  VERBOSE_OPT 1
18 #include args-std.def
19
20 flag = {
21     name      = generate-self-signed;
22     value     = s;
23     descrip   = "Generate a self-signed certificate";
24     doc = "";
25 };
26
27 flag = {
28     name      = generate-certificate;
29     value     = c;
30     descrip   = "Generate a signed certificate";
31     doc = "";
32 };
33
34 flag = {
35     name      = generate-proxy;
36     descrip   = "Generates a proxy certificate";
37     doc = "";
38 };
39
40 flag = {
41     name      = generate-crl;
42     descrip   = "Generate a CRL";
43     doc = "";
44 };
45
46 flag = {
47     name      = update-certificate;
48     value     = u;
49     descrip   = "Update a signed certificate";
50     doc = "";
51 };
52
53 flag = {
54     name      = generate-privkey;
55     value     = p;
56     descrip   = "Generate a private key";
57     doc = "";
58 };
59
60 flag = {
61     name      = generate-request;
62     value     = q;
63     descrip   = "Generate a PKCS #10 certificate request";
64     flags_cant = infile;
65     doc = "Will generate a PKCS #10 certificate request. To specify a private key use --load-privkey.";
66 };
67
68 flag = {
69     name      = verify-chain;
70     value     = e;
71     descrip   = "Verify a PEM encoded certificate chain";
72     doc = "The last certificate in the chain must be a self signed one.";
73 };
74
75 flag = {
76     name      = verify;
77     descrip   = "Verify a PEM encoded certificate chain using a trusted list";
78     doc = "The trusted certificate list can be loaded with --load-ca-certificate. If no
79 certificate list is provided, then the system's certificate list is used. Note that
80 during verification multiple paths may be explored. On a successful verification
81 the successful path will be the last one.";
82 };
83
84 flag = {
85     name      = verify-crl;
86     descrip   = "Verify a CRL using a trusted list";
87     doc = "The trusted certificate list must be loaded with --load-ca-certificate.";
88     flags-must = load-ca-certificate;
89 };
90
91 flag = {
92     name      = generate-dh-params;
93     descrip   = "Generate PKCS #3 encoded Diffie-Hellman parameters";
94     doc = "";
95 };
96
97 flag = {
98     name      = get-dh-params;
99     descrip   = "Get the included PKCS #3 encoded Diffie-Hellman parameters";
100     doc = "Returns stored DH parameters in GnuTLS. Those parameters are used in the SRP protocol. The parameters returned by fresh generation
101 are more efficient since GnuTLS 3.0.9.";
102 };
103
104 flag = {
105     name      = dh-info;
106     descrip   = "Print information PKCS #3 encoded Diffie-Hellman parameters";
107     doc = "";
108 };
109
110 flag = {
111     name      = load-privkey;
112     descrip   = "Loads a private key file";
113     arg-type  = string;
114     doc = "This can be either a file or a PKCS #11 URL";
115 };
116
117 flag = {
118     name      = load-pubkey;
119     descrip   = "Loads a public key file";
120     arg-type  = string;
121     doc = "This can be either a file or a PKCS #11 URL";
122 };
123
124 flag = {
125     name      = load-request;
126     descrip   = "Loads a certificate request file";
127     arg-type  = string;
128     doc = "";
129 };
130
131 flag = {
132     name      = load-certificate;
133     descrip   = "Loads a certificate file";
134     arg-type  = string;
135     doc = "This can be either a file or a PKCS #11 URL";
136 };
137
138 flag = {
139     name      = load-ca-privkey;
140     descrip   = "Loads the certificate authority's private key file";
141     arg-type  = string;
142     doc = "This can be either a file or a PKCS #11 URL";
143 };
144
145 flag = {
146     name      = load-ca-certificate;
147     descrip   = "Loads the certificate authority's certificate file";
148     arg-type  = string;
149     doc = "This can be either a file or a PKCS #11 URL";
150 };
151
152 flag = {
153     name      = password;
154     arg-type  = string;
155     descrip   = "Password to use";
156     doc   = "You can use this option to specify the password in the command line instead of reading it from the tty. Note, that the command line arguments are available for view in others in the system. Specifying password as '' is the same as specifying no password.";
157 };
158
159 flag = {
160     name      = null-password;
161     descrip   = "Enforce a NULL password";
162     doc   = "This option enforces a NULL password. This is different than the empty or no password in schemas like PKCS #8.";
163 };
164
165 flag = {
166     name      = empty-password;
167     descrip   = "Enforce an empty password";
168     doc   = "This option enforces an empty password. This is different than the NULL or no password in schemas like PKCS #8.";
169 };
170
171
172 flag = {
173     name      = hex-numbers;
174     descrip   = "Print big number in an easier format to parse";
175     doc   = "";
176 };
177
178 flag = {
179     name      = cprint;
180     descrip   = "In certain operations it prints the information in C-friendly format";
181     doc   = "In certain operations it prints the information in C-friendly format, suitable for including into C programs.";
182 };
183
184 flag = {
185     name      = certificate-info;
186     value     = i;
187     descrip   = "Print information on the given certificate";
188     doc       = "";
189 };
190
191 flag = {
192     name      = fingerprint;
193     descrip   = "Print the fingerprint of the given certificate";
194     doc       = "This is a simple hash of the DER encoding of the certificate. It is always better to use the key-id.";
195 };
196
197 flag = {
198     name      = key-id;
199     descrip   = "Print the key ID of the given certificate";
200     doc       = "This is a hash of the public key of the given certificate. It identifies the key uniquely, remains the same on a certificate renewal and depends only on signed fields of the certificate.";
201 };
202
203 flag = {
204     name      = certificate-pubkey;
205     descrip   = "Print certificate's public key";
206     doc       = "";
207 };
208
209 flag = {
210     name      = pgp-certificate-info;
211     descrip   = "Print information on the given OpenPGP certificate";
212     doc       = "";
213 };
214
215 flag = {
216     name      = pgp-ring-info;
217     descrip   = "Print information on the given OpenPGP keyring structure";
218     doc       = "";
219 };
220
221 flag = {
222     name      = crl-info;
223     value     = l;
224     descrip   = "Print information on the given CRL structure";
225     doc       = "";
226 };
227
228 flag = {
229     name      = crq-info;
230     descrip   = "Print information on the given certificate request";
231     doc       = "";
232 };
233
234
235 flag = {
236     name      = no-crq-extensions;
237     descrip   = "Do not use extensions in certificate requests";
238     doc       = "";
239 };
240
241 flag = {
242     name      = p12-info;
243     descrip   = "Print information on a PKCS #12 structure";
244     doc       = "This option will dump the contents and print the metadata of the provided PKCS #12 structure.";
245 };
246
247 flag = {
248     name      = p12-name;
249     arg-type  = string;
250     descrip   = "The PKCS #12 friendly name to use";
251     doc = "The name to be used for the primary certificate and private key in a PKCS #12 file.";
252 };
253
254 flag = {
255     name      = p7-info;
256     descrip   = "Print information on a PKCS #7 structure";
257     doc       = "";
258 };
259
260 flag = {
261     name      = p8-info;
262     descrip   = "Print information on a PKCS #8 structure";
263     doc       = "This option will print information about encrypted PKCS #8 structures. That option does not require the decryption of the structure.";
264 };
265
266 flag = {
267     name      = smime-to-p7;
268     descrip   = "Convert S/MIME to PKCS #7 structure";
269     doc       = "";
270 };
271
272 flag = {
273     name      = key-info;
274     value     = k;
275     descrip   = "Print information on a private key";
276     doc = "";
277 };
278
279 flag = {
280     name      = pgp-key-info;
281     descrip   = "Print information on an OpenPGP private key";
282     doc = "";
283 };
284
285 flag = {
286     name      = pubkey-info;
287     descrip   = "Print information on a public key";
288     doc = "The option combined with --load-request, --load-pubkey, --load-privkey and --load-certificate will extract the public key of the object in question.";
289 };
290
291 flag = {
292     name      = v1;
293     descrip   = "Generate an X.509 version 1 certificate (with no extensions)";
294     doc = "";
295 };
296
297 flag = {
298     name      = to-p12;
299     descrip   = "Generate a PKCS #12 structure";
300     doc = "It requires a certificate, a private key and possibly a CA certificate to be specified.";
301     flags-must = load-certificate;
302 };
303
304 flag = {
305     name      = to-p8;
306     descrip   = "Generate a PKCS #8 structure";
307     doc = "";
308 };
309
310 flag = {
311     name      = pkcs8;
312     value     = 8;
313     descrip   = "Use PKCS #8 format for private keys";
314     doc = "";
315 };
316
317 flag = {
318     name      = rsa;
319     descrip   = "Generate RSA key";
320     doc = "When combined with --generate-privkey generates an RSA private key.";
321 };
322
323 flag = {
324     name      = dsa;
325     descrip   = "Generate DSA key";
326     doc = "When combined with --generate-privkey generates a DSA private key.";
327 };
328
329 flag = {
330     name      = ecc;
331     descrip   = "Generate ECC (ECDSA) key";
332     doc = "When combined with --generate-privkey generates an elliptic curve private key to be used with ECDSA.";
333 };
334
335 flag = {
336     name      = ecdsa;
337     aliases   = ecc;
338 };
339
340 flag = {
341     name      = hash;
342     arg-type  = string;
343     descrip   = "Hash algorithm to use for signing";
344     doc = "Available hash functions are SHA1, RMD160, SHA256, SHA384, SHA512.";
345 };
346
347 flag = {
348     name      = inder;
349     descrip   = "Use DER format for input certificates, private keys, and DH parameters ";
350     disabled;
351     disable   = "no";
352     doc       = "The input files will be assumed to be in DER or RAW format. 
353 Unlike options that in PEM input would allow multiple input data (e.g. multiple 
354 certificates), when reading in DER format a single data structure is read.";
355 };
356
357 flag = {
358     name      = inraw;
359     aliases   = inder;
360 };
361
362 flag = {
363     name      = outder;
364     descrip   = "Use DER format for output certificates, private keys, and DH parameters";
365     disabled;
366     disable   = "no";
367     doc       = "The output will be in DER or RAW format.";
368 };
369
370 flag = {
371     name      = outraw;
372     aliases   = outder;
373 };
374
375 flag = {
376     name      = bits;
377     arg-type  = number;
378     descrip   = "Specify the number of bits for key generate";
379     doc      = "";
380 };
381
382 flag = {
383     name      = curve;
384     arg-type  = string;
385     descrip   = "Specify the curve used for EC key generation";
386     doc      = "Supported values are secp192r1, secp224r1, secp256r1, secp384r1 and secp521r1.";
387 };
388
389 flag = {
390     name      = sec-param;
391     arg-type  = string;
392     arg-name  = "Security parameter";
393     descrip   = "Specify the security level [low, legacy, medium, high, ultra]";
394     doc      = "This is alternative to the bits option.";
395 };
396
397 flag = {
398     name      = disable-quick-random;
399     descrip   = "No effect";
400     doc      = "";
401 };
402
403 flag = {
404     name      = template;
405     arg-type  = string;
406     descrip   = "Template file to use for non-interactive operation";
407     doc   = "";
408 };
409
410 flag = {
411     name      = stdout-info;
412     descrip   = "Print information to stdout instead of stderr";
413     doc = "";
414 };
415
416 flag = {
417     name      = ask-pass;
418     disabled;
419     descrip   = "Enable interaction for entering password when in batch mode.";
420     doc   = "This option will enable interaction to enter password when in batch mode. That is useful when the template option has been specified.";
421 };
422
423 flag = {
424     name      = pkcs-cipher;
425     arg-type  = string;
426     arg-name  = "Cipher";
427     descrip   = "Cipher to use for PKCS #8 and #12 operations";
428     doc   = "Cipher may be one of 3des, 3des-pkcs12, aes-128, aes-192, aes-256, rc2-40, arcfour.";
429 };
430
431 flag = {
432     name      = provider;
433     arg-type  = string;
434     descrip   = "Specify the PKCS #11 provider library";
435     doc      = "This will override the default options in /etc/gnutls/pkcs11.conf";
436 };
437
438 doc-section = {
439   ds-type = 'SEE ALSO';
440   ds-format = 'texi';
441   ds-text   = <<-_EOT_
442     p11tool (1)
443 _EOT_;
444 };
445
446 doc-section = {
447   ds-type = 'EXAMPLES';
448   ds-format = 'texi';
449   ds-text   = <<-_EOT_
450 @subheading Generating private keys
451 To create an RSA private key, run:
452 @example
453 $ certtool --generate-privkey --outfile key.pem --rsa
454 @end example
455
456 To create a DSA or elliptic curves (ECDSA) private key use the
457 above command combined with 'dsa' or 'ecc' options.
458
459 @subheading Generating certificate requests
460 To create a certificate request (needed when the certificate is  issued  by
461 another party), run:
462 @example
463 certtool --generate-request --load-privkey key.pem \
464    --outfile request.pem
465 @end example
466
467 If the private key is stored in a smart card you can generate
468 a request by specifying the private key object URL.
469 @example
470 $ ./certtool --generate-request --load-privkey "pkcs11:..." \
471   --load-pubkey "pkcs11:..." --outfile request.pem
472 @end example
473
474
475 @subheading Generating a self-signed certificate
476 To create a self signed certificate, use the command:
477 @example
478 $ certtool --generate-privkey --outfile ca-key.pem
479 $ certtool --generate-self-signed --load-privkey ca-key.pem \
480    --outfile ca-cert.pem
481 @end example
482
483 Note that a self-signed certificate usually belongs to a certificate
484 authority, that signs other certificates.
485
486 @subheading Generating a certificate
487 To generate a certificate using the previous request, use the command:
488 @example
489 $ certtool --generate-certificate --load-request request.pem \
490    --outfile cert.pem --load-ca-certificate ca-cert.pem \
491    --load-ca-privkey ca-key.pem
492 @end example
493
494 To generate a certificate using the private key only, use the command:
495 @example
496 $ certtool --generate-certificate --load-privkey key.pem \
497    --outfile cert.pem --load-ca-certificate ca-cert.pem \
498    --load-ca-privkey ca-key.pem
499 @end example
500
501 @subheading Certificate information
502 To view the certificate information, use:
503 @example
504 $ certtool --certificate-info --infile cert.pem
505 @end example
506
507 @subheading PKCS #12 structure generation
508 To generate a PKCS #12 structure using the previous key and certificate,
509 use the command:
510 @example
511 $ certtool --load-certificate cert.pem --load-privkey key.pem \
512    --to-p12 --outder --outfile key.p12
513 @end example
514
515 Some tools (reportedly web browsers) have problems with that file
516 because it does not contain the CA certificate for the certificate.
517 To work around that problem in the tool, you can use the
518 --load-ca-certificate parameter as follows:
519
520 @example
521 $ certtool --load-ca-certificate ca.pem \
522   --load-certificate cert.pem --load-privkey key.pem \
523   --to-p12 --outder --outfile key.p12
524 @end example
525
526 @subheading Diffie-Hellman parameter generation
527 To generate parameters for Diffie-Hellman key exchange, use the command:
528 @example
529 $ certtool --generate-dh-params --outfile dh.pem --sec-param medium
530 @end example
531
532 @subheading Proxy certificate generation
533 Proxy certificate can be used to delegate your credential to a
534 temporary, typically short-lived, certificate.  To create one from the
535 previously created certificate, first create a temporary key and then
536 generate a proxy certificate for it, using the commands:
537
538 @example
539 $ certtool --generate-privkey > proxy-key.pem
540 $ certtool --generate-proxy --load-ca-privkey key.pem \
541   --load-privkey proxy-key.pem --load-certificate cert.pem \
542   --outfile proxy-cert.pem
543 @end example
544
545 @subheading Certificate revocation list generation
546 To create an empty Certificate Revocation List (CRL) do:
547
548 @example
549 $ certtool --generate-crl --load-ca-privkey x509-ca-key.pem \
550            --load-ca-certificate x509-ca.pem
551 @end example
552
553 To create a CRL that contains some revoked certificates, place the
554 certificates in a file and use @code{--load-certificate} as follows:
555
556 @example
557 $ certtool --generate-crl --load-ca-privkey x509-ca-key.pem \
558   --load-ca-certificate x509-ca.pem --load-certificate revoked-certs.pem
559 @end example
560
561 To verify a Certificate Revocation List (CRL) do:
562
563 @example
564 $ certtool --verify-crl --load-ca-certificate x509-ca.pem < crl.pem
565 @end example
566 _EOT_;
567 };
568
569
570 doc-section = {
571   ds-type = 'FILES';
572   ds-format = 'texi';
573   ds-text   = <<-_EOT_
574 @subheading Certtool's template file format
575 A template file can be used to avoid the interactive questions of
576 certtool. Initially create a file named 'cert.cfg' that contains the information
577 about the certificate. The template can be used as below:
578
579 @example
580 $ certtool --generate-certificate --load-privkey key.pem  \
581    --template cert.cfg --outfile cert.pem \
582    --load-ca-certificate ca-cert.pem --load-ca-privkey ca-key.pem
583 @end example
584
585 An example certtool template file that can be used to generate a certificate
586 request or a self signed certificate follows.
587
588 @example
589 # X.509 Certificate options
590 #
591 # DN options
592
593 # The organization of the subject.
594 organization = "Koko inc."
595
596 # The organizational unit of the subject.
597 unit = "sleeping dept."
598
599 # The locality of the subject.
600 # locality =
601
602 # The state of the certificate owner.
603 state = "Attiki"
604
605 # The country of the subject. Two letter code.
606 country = GR
607
608 # The common name of the certificate owner.
609 cn = "Cindy Lauper"
610
611 # A user id of the certificate owner.
612 #uid = "clauper"
613
614 # Set domain components
615 #dc = "name"
616 #dc = "domain"
617
618 # If the supported DN OIDs are not adequate you can set
619 # any OID here.
620 # For example set the X.520 Title and the X.520 Pseudonym
621 # by using OID and string pairs.
622 #dn_oid = 2.5.4.12 Dr. 
623 #dn_oid = 2.5.4.65 jackal
624
625 # This is deprecated and should not be used in new
626 # certificates.
627 # pkcs9_email = "none@@none.org"
628
629 # An alternative way to set the certificate's distinguished name directly
630 # is with the "dn" option. The attribute names allowed are:
631 # C (country), street, O (organization), OU (unit), title, CN (common name),
632 # L (locality), ST (state), placeOfBirth, gender, countryOfCitizenship, 
633 # countryOfResidence, serialNumber, telephoneNumber, surName, initials, 
634 # generationQualifier, givenName, pseudonym, dnQualifier, postalCode, name, 
635 # businessCategory, DC, UID, jurisdictionOfIncorporationLocalityName, 
636 # jurisdictionOfIncorporationStateOrProvinceName,
637 # jurisdictionOfIncorporationCountryName, XmppAddr, and numeric OIDs.
638
639 #dn = "cn = Nikos,st = New\, Something,C=GR,surName=Mavrogiannopoulos,2.5.4.9=Arkadias"
640
641 # The serial number of the certificate
642 # Comment the field for a time-based serial number.
643 serial = 007
644
645 # In how many days, counting from today, this certificate will expire.
646 # Use -1 if there is no expiration date.
647 expiration_days = 700
648
649 # Alternatively you may set concrete dates and time. The GNU date string 
650 # formats are accepted. See:
651 # http://www.gnu.org/software/tar/manual/html_node/Date-input-formats.html
652
653 #activation_date = "2004-02-29 16:21:42"
654 #expiration_date = "2025-02-29 16:24:41"
655
656 # X.509 v3 extensions
657
658 # A dnsname in case of a WWW server.
659 #dns_name = "www.none.org"
660 #dns_name = "www.morethanone.org"
661
662 # A subject alternative name URI
663 #uri = "http://www.example.com"
664
665 # An IP address in case of a server.
666 #ip_address = "192.168.1.1"
667
668 # An email in case of a person
669 email = "none@@none.org"
670
671 # Challenge password used in certificate requests
672 challenge_password = 123456
673
674 # Password when encrypting a private key
675 #password = secret
676
677 # An URL that has CRLs (certificate revocation lists)
678 # available. Needed in CA certificates.
679 #crl_dist_points = "http://www.getcrl.crl/getcrl/"
680
681 # Whether this is a CA certificate or not
682 #ca
683
684 #### Key usage
685
686 # The following key usage flags are used by CAs and end certificates
687
688 # Whether this certificate will be used to sign data (needed
689 # in TLS DHE ciphersuites). This is the digitalSignature flag
690 # in RFC5280 terminology.
691 signing_key
692
693 # Whether this certificate will be used to encrypt data (needed
694 # in TLS RSA ciphersuites). Note that it is preferred to use different
695 # keys for encryption and signing. This is the keyEncipherment flag
696 # in RFC5280 terminology.
697 encryption_key
698
699 # Whether this key will be used to sign other certificates. The
700 # keyCertSign flag in RFC5280 terminology.
701 #cert_signing_key
702
703 # Whether this key will be used to sign CRLs. The
704 # cRLSign flag in RFC5280 terminology.
705 #crl_signing_key
706
707 # The keyAgreement flag of RFC5280. It's purpose is loosely
708 # defined. Not use it unless required by a protocol.
709 #key_agreement
710
711 # The dataEncipherment flag of RFC5280. It's purpose is loosely
712 # defined. Not use it unless required by a protocol.
713 #data_encipherment
714
715 # The nonRepudiation flag of RFC5280. It's purpose is loosely
716 # defined. Not use it unless required by a protocol.
717 #non_repudiation
718
719 #### Extended key usage (key purposes)
720
721 # The following extensions are used in an end certificate
722 # to clarify its purpose. Some CAs also use it to indicate
723 # the types of certificates they are purposed to sign.
724
725
726 # Whether this certificate will be used for a TLS client;
727 # this sets the id-kp-serverAuth (1.3.6.1.5.5.7.3.1) of 
728 # extended key usage.
729 #tls_www_client
730
731 # Whether this certificate will be used for a TLS server;
732 # This sets the id-kp-clientAuth (1.3.6.1.5.5.7.3.2) of 
733 # extended key usage.
734 #tls_www_server
735
736 # Whether this key will be used to sign code. This sets the
737 # id-kp-codeSigning (1.3.6.1.5.5.7.3.3) of extended key usage
738 # extension.
739 #code_signing_key
740
741 # Whether this key will be used to sign OCSP data. This sets the
742 # id-kp-OCSPSigning (1.3.6.1.5.5.7.3.9) of extended key usage extension.
743 #ocsp_signing_key
744
745 # Whether this key will be used for time stamping. This sets the
746 # id-kp-timeStamping (1.3.6.1.5.5.7.3.8) of extended key usage extension.
747 #time_stamping_key
748
749 # Whether this key will be used for email protection. This sets the
750 # id-kp-emailProtection (1.3.6.1.5.5.7.3.4) of extended key usage extension.
751 #email_protection_key
752
753 # Whether this key will be used for IPsec IKE operations (1.3.6.1.5.5.7.3.17).
754 #ipsec_ike_key
755
756 ## adding custom key purpose OIDs
757
758 # for microsoft smart card logon
759 # key_purpose_oid = 1.3.6.1.4.1.311.20.2.2
760
761 # for email protection
762 # key_purpose_oid = 1.3.6.1.5.5.7.3.4
763
764 # for any purpose (must not be used in intermediate CA certificates)
765 # key_purpose_oid = 2.5.29.37.0
766
767 ### end of key purpose OIDs
768
769 # When generating a certificate from a certificate
770 # request, then honor the extensions stored in the request
771 # and store them in the real certificate.
772 #honor_crq_extensions
773
774 # Path length contraint. Sets the maximum number of
775 # certificates that can be used to certify this certificate.
776 # (i.e. the certificate chain length)
777 #path_len = -1
778 #path_len = 2
779
780 # OCSP URI
781 # ocsp_uri = http://my.ocsp.server/ocsp
782
783 # CA issuers URI
784 # ca_issuers_uri = http://my.ca.issuer
785
786 # Certificate policies
787 #policy1 = 1.3.6.1.4.1.5484.1.10.99.1.0
788 #policy1_txt = "This is a long policy to summarize"
789 #policy1_url = http://www.example.com/a-policy-to-read
790
791 #policy2 = 1.3.6.1.4.1.5484.1.10.99.1.1
792 #policy2_txt = "This is a short policy"
793 #policy2_url = http://www.example.com/another-policy-to-read
794
795 # Name constraints
796
797 # DNS
798 #nc_permit_dns = example.com
799 #nc_exclude_dns = test.example.com
800
801 # EMAIL
802 #nc_permit_email = "nmav@@ex.net"
803
804 # Exclude subdomains of example.com
805 #nc_exclude_email = .example.com
806
807 # Exclude all e-mail addresses of example.com
808 #nc_exclude_email = example.com
809
810
811 # Options for proxy certificates
812 #proxy_policy_language = 1.3.6.1.5.5.7.21.1
813
814
815 # Options for generating a CRL
816
817 # The number of days the next CRL update will be due.
818 # next CRL update will be in 43 days
819 #crl_next_update = 43
820
821 # this is the 5th CRL by this CA
822 # Comment the field for a time-based number.
823 #crl_number = 5
824
825 @end example
826
827 _EOT_;
828 };
829