diff options
author | schwarze <> | 2015-02-14 13:54:59 +0000 |
---|---|---|
committer | schwarze <> | 2015-02-14 13:54:59 +0000 |
commit | 948b14a55ded39aea589e34e23c19085fd99cac5 (patch) | |
tree | 1405d05559e07c92604d649882549c9d103f1bae /src/lib/libcrypto | |
parent | b8d9c2ac1e0d5ebc096503ffa770326846a8fb7c (diff) | |
download | openbsd-948b14a55ded39aea589e34e23c19085fd99cac5.tar.gz openbsd-948b14a55ded39aea589e34e23c19085fd99cac5.tar.bz2 openbsd-948b14a55ded39aea589e34e23c19085fd99cac5.zip |
While doing development work on pod2mdoc(1),
profit of the occasion to start the conversion of
LibreSSL libcrypto manuals from perlpod(1) to mdoc(7).
miod@ jmc@ bentley@ agreed to the process when shown this patch.
Diffstat (limited to 'src/lib/libcrypto')
-rw-r--r-- | src/lib/libcrypto/man/ASN1_OBJECT_new.3 | 61 | ||||
-rw-r--r-- | src/lib/libcrypto/man/ASN1_STRING_length.3 | 165 | ||||
-rw-r--r-- | src/lib/libcrypto/man/ASN1_STRING_new.3 | 58 | ||||
-rw-r--r-- | src/lib/libcrypto/man/ASN1_STRING_print_ex.3 | 151 | ||||
-rw-r--r-- | src/lib/libcrypto/man/ASN1_generate_nconf.3 | 331 | ||||
-rw-r--r-- | src/lib/libcrypto/man/Makefile | 10 |
6 files changed, 773 insertions, 3 deletions
diff --git a/src/lib/libcrypto/man/ASN1_OBJECT_new.3 b/src/lib/libcrypto/man/ASN1_OBJECT_new.3 new file mode 100644 index 0000000000..a636e7182e --- /dev/null +++ b/src/lib/libcrypto/man/ASN1_OBJECT_new.3 | |||
@@ -0,0 +1,61 @@ | |||
1 | .Dd August 12, 2014 | ||
2 | .Dt ASN1_OBJECT_NEW 3 | ||
3 | .Os | ||
4 | .Sh NAME | ||
5 | .Nm ASN1_OBJECT_new , | ||
6 | .Nm ASN1_OBJECT_free | ||
7 | .Nd ASN1 object allocation functions | ||
8 | .Sh SYNOPSIS | ||
9 | .In openssl/asn1.h | ||
10 | .Ft ASN1_OBJECT * | ||
11 | .Fo ASN1_OBJECT_new | ||
12 | .Fa void | ||
13 | .Fc | ||
14 | .Ft void | ||
15 | .Fo ASN1_OBJECT_free | ||
16 | .Fa "ASN1_OBJECT *a" | ||
17 | .Fc | ||
18 | .Sh DESCRIPTION | ||
19 | The ASN1_OBJECT allocation routines allocate and free an | ||
20 | .Vt ASN1_OBJECT | ||
21 | structure, which represents an ASN1 OBJECT IDENTIFIER. | ||
22 | .Pp | ||
23 | .Fn ASN1_OBJECT_new | ||
24 | allocates and initializes an | ||
25 | .Vt ASN1_OBJECT | ||
26 | structure. | ||
27 | .Pp | ||
28 | .Fn ASN1_OBJECT_free | ||
29 | frees up the | ||
30 | .Vt ASN1_OBJECT | ||
31 | structure | ||
32 | .Fa a . | ||
33 | .Sh NOTES | ||
34 | Although | ||
35 | .Fn ASN1_OBJECT_new | ||
36 | allocates a new | ||
37 | .Vt ASN1_OBJECT | ||
38 | structure, it is almost never used in applications. | ||
39 | The ASN1 object utility functions such as | ||
40 | .Xr OBJ_nid2obj 3 | ||
41 | are used instead. | ||
42 | .Sh RETURN VALUES | ||
43 | If the allocation fails, | ||
44 | .Fn ASN1_OBJECT_new | ||
45 | returns | ||
46 | .Dv NULL | ||
47 | and sets an error code that can be obtained by | ||
48 | .Xr ERR_get_error 3 . | ||
49 | Otherwise it returns a pointer to the newly allocated structure. | ||
50 | .Pp | ||
51 | .Fn ASN1_OBJECT_free | ||
52 | returns no value. | ||
53 | .Sh SEE ALSO | ||
54 | .Xr d2i_ASN1_OBJECT 3 , | ||
55 | .Xr ERR_get_error 3 , | ||
56 | .Xr OBJ_nid2obj 3 | ||
57 | .Sh HISTORY | ||
58 | .Fn ASN1_OBJECT_new | ||
59 | and | ||
60 | .Fn ASN1_OBJECT_free | ||
61 | are available in all versions of SSLeay and OpenSSL. | ||
diff --git a/src/lib/libcrypto/man/ASN1_STRING_length.3 b/src/lib/libcrypto/man/ASN1_STRING_length.3 new file mode 100644 index 0000000000..71744587be --- /dev/null +++ b/src/lib/libcrypto/man/ASN1_STRING_length.3 | |||
@@ -0,0 +1,165 @@ | |||
1 | .Dd July 17, 2014 | ||
2 | .Dt ASN1_STRING_LENGTH 3 | ||
3 | .Os | ||
4 | .Sh NAME | ||
5 | .Nm ASN1_STRING_cmp , | ||
6 | .Nm ASN1_STRING_data , | ||
7 | .Nm ASN1_STRING_dup , | ||
8 | .Nm ASN1_STRING_length , | ||
9 | .Nm ASN1_STRING_length_set , | ||
10 | .Nm ASN1_STRING_set , | ||
11 | .Nm ASN1_STRING_to_UTF8 , | ||
12 | .Nm ASN1_STRING_type | ||
13 | .Nd ASN1_STRING utility functions | ||
14 | .Sh SYNOPSIS | ||
15 | .In openssl/asn1.h | ||
16 | .Ft int | ||
17 | .Fo ASN1_STRING_cmp | ||
18 | .Fa "ASN1_STRING *a" | ||
19 | .Fa "ASN1_STRING *b" | ||
20 | .Fc | ||
21 | .Ft unsigned char * | ||
22 | .Fo ASN1_STRING_data | ||
23 | .Fa "ASN1_STRING *x" | ||
24 | .Fc | ||
25 | .Ft ASN1_STRING * | ||
26 | .Fo ASN1_STRING_dup | ||
27 | .Fa "ASN1_STRING *a" | ||
28 | .Fc | ||
29 | .Ft int | ||
30 | .Fo ASN1_STRING_length | ||
31 | .Fa "ASN1_STRING *x" | ||
32 | .Fc | ||
33 | .Ft void | ||
34 | .Fo ASN1_STRING_length_set | ||
35 | .Fa "ASN1_STRING *x" | ||
36 | .Fa "int len" | ||
37 | .Fc | ||
38 | .Ft int | ||
39 | .Fo ASN1_STRING_set | ||
40 | .Fa "ASN1_STRING *str" | ||
41 | .Fa "const void *data" | ||
42 | .Fa "int len" | ||
43 | .Fc | ||
44 | .Ft int | ||
45 | .Fo ASN1_STRING_to_UTF8 | ||
46 | .Fa "unsigned char **out" | ||
47 | .Fa "ASN1_STRING *in" | ||
48 | .Fc | ||
49 | .Ft int | ||
50 | .Fo ASN1_STRING_type | ||
51 | .Fa "ASN1_STRING *x" | ||
52 | .Fc | ||
53 | .Sh DESCRIPTION | ||
54 | These functions manipulate | ||
55 | .Vt ASN1_STRING | ||
56 | structures. | ||
57 | .Pp | ||
58 | .Fn ASN1_STRING_cmp | ||
59 | compares | ||
60 | .Fa a | ||
61 | and | ||
62 | .Fa b | ||
63 | and returns 0 if the two are identical. | ||
64 | The string types and the content are compared. | ||
65 | .Pp | ||
66 | .Fn ASN1_STRING_data | ||
67 | returns an internal pointer to the data of | ||
68 | .Fa x . | ||
69 | Since this is an internal pointer, it should | ||
70 | .Em not | ||
71 | be freed or modified in any way. | ||
72 | .Pp | ||
73 | .Fn ASN1_STRING_dup | ||
74 | returns a copy of the structure | ||
75 | .Fa a . | ||
76 | .Pp | ||
77 | .Fn ASN1_STRING_length | ||
78 | returns the length of the content of | ||
79 | .Fa x . | ||
80 | .Pp | ||
81 | .Fn ASN1_STRING_length_set | ||
82 | sets the length attribute of | ||
83 | .Fa x | ||
84 | to | ||
85 | .Fa len . | ||
86 | It may put | ||
87 | .Fa x | ||
88 | into an inconsistent internal state. | ||
89 | .Pp | ||
90 | .Fn ASN1_STRING_set | ||
91 | sets the data of the string | ||
92 | .Fa str | ||
93 | to the buffer | ||
94 | .Fa data | ||
95 | of length | ||
96 | .Fa len . | ||
97 | The supplied data is copied. | ||
98 | If | ||
99 | .Fa len | ||
100 | is -1 then the length is determined by | ||
101 | .Fn strlen data . | ||
102 | .Pp | ||
103 | .Fn ASN1_STRING_to_UTF8 | ||
104 | converts the string | ||
105 | .Fa in | ||
106 | to UTF8 format. | ||
107 | The converted data is copied into a newly allocated buffer | ||
108 | .Fa out . | ||
109 | The length of | ||
110 | .Fa out | ||
111 | is returned or a negative error code. | ||
112 | The buffer | ||
113 | .Fa out | ||
114 | should be freed using | ||
115 | .Xr free 3 . | ||
116 | .Pp | ||
117 | .Fn ASN1_STRING_type | ||
118 | returns the type of | ||
119 | .Fa x , | ||
120 | using standard constants such as | ||
121 | .Dv V_ASN1_OCTET_STRING . | ||
122 | .Sh NOTES | ||
123 | Almost all ASN1 types in OpenSSL are represented as | ||
124 | .Vt ASN1_STRING | ||
125 | structures. | ||
126 | Other types such as | ||
127 | .Vt ASN1_OCTET_STRING | ||
128 | are simply typedefed to | ||
129 | .Vt ASN1_STRING | ||
130 | and the functions call the | ||
131 | .Vt ASN1_STRING | ||
132 | equivalents. | ||
133 | .Vt ASN1_STRING | ||
134 | is also used for some | ||
135 | .Sy CHOICE | ||
136 | types which consist entirely of primitive string types such as | ||
137 | .Sy DirectoryString | ||
138 | and | ||
139 | .Sy Time . | ||
140 | .Pp | ||
141 | These functions should | ||
142 | .Em not | ||
143 | be used to examine or modify | ||
144 | .Vt ASN1_INTEGER | ||
145 | or | ||
146 | .Vt ASN1_ENUMERATED | ||
147 | types: the relevant | ||
148 | .Sy INTEGER | ||
149 | or | ||
150 | .Sy ENUMERATED | ||
151 | utility functions should be used instead. | ||
152 | .Pp | ||
153 | In general it cannot be assumed that the data returned by | ||
154 | .Fn ASN1_STRING_data | ||
155 | is NUL terminated, and it may contain embedded NUL characters. | ||
156 | The actual format of the data will depend on the actual string type itself: | ||
157 | for example for an IA5String the data will be ASCII, | ||
158 | for a BMPString two bytes per character in big endian format, | ||
159 | UTF8String will be in UTF8 format. | ||
160 | .Pp | ||
161 | Similar care should be take to ensure the data is in the correct format | ||
162 | when calling | ||
163 | .Fn ASN1_STRING_set . | ||
164 | .Sh SEE ALSO | ||
165 | .Xr ERR_get_error 3 | ||
diff --git a/src/lib/libcrypto/man/ASN1_STRING_new.3 b/src/lib/libcrypto/man/ASN1_STRING_new.3 new file mode 100644 index 0000000000..cd28b98af6 --- /dev/null +++ b/src/lib/libcrypto/man/ASN1_STRING_new.3 | |||
@@ -0,0 +1,58 @@ | |||
1 | .Dd July 17, 2014 | ||
2 | .Dt ASN1_STRING_NEW 3 | ||
3 | .Os | ||
4 | .Sh NAME | ||
5 | .Nm ASN1_STRING_new , | ||
6 | .Nm ASN1_STRING_type_new , | ||
7 | .Nm ASN1_STRING_free | ||
8 | .Nd ASN1_STRING allocation functions | ||
9 | .Sh SYNOPSIS | ||
10 | .In openssl/asn1.h | ||
11 | .Ft ASN1_STRING * | ||
12 | .Fo ASN1_STRING_new | ||
13 | .Fa void | ||
14 | .Fc | ||
15 | .Ft ASN1_STRING * | ||
16 | .Fo ASN1_STRING_type_new | ||
17 | .Fa "int type" | ||
18 | .Fc | ||
19 | .Ft void | ||
20 | .Fo ASN1_STRING_free | ||
21 | .Fa "ASN1_STRING *a" | ||
22 | .Fc | ||
23 | .Sh DESCRIPTION | ||
24 | .Fn ASN1_STRING_new | ||
25 | returns an allocated | ||
26 | .Vt ASN1_STRING | ||
27 | structure. | ||
28 | Its type is undefined. | ||
29 | .Pp | ||
30 | .Fn ASN1_STRING_type_new | ||
31 | returns an allocated | ||
32 | .Vt ASN1_STRING | ||
33 | structure of type | ||
34 | .Fa type . | ||
35 | .Pp | ||
36 | .Fn ASN1_STRING_free | ||
37 | frees up | ||
38 | .Fa a . | ||
39 | .Sh NOTES | ||
40 | Other string types call the ASN1_STRING functions. | ||
41 | For example | ||
42 | .Fn ASN1_OCTET_STRING_new | ||
43 | calls | ||
44 | .Fn ASN1_STRING_type V_ASN1_OCTET_STRING . | ||
45 | .Sh RETURN VALUES | ||
46 | .Fn ASN1_STRING_new | ||
47 | and | ||
48 | .Fn ASN1_STRING_type_new | ||
49 | return a valid | ||
50 | .Vt ASN1_STRING | ||
51 | structure or | ||
52 | .Dv NULL | ||
53 | if an error occurred. | ||
54 | .Pp | ||
55 | .Fn ASN1_STRING_free | ||
56 | does not return a value. | ||
57 | .Sh SEE ALSO | ||
58 | .Xr ERR_get_error 3 | ||
diff --git a/src/lib/libcrypto/man/ASN1_STRING_print_ex.3 b/src/lib/libcrypto/man/ASN1_STRING_print_ex.3 new file mode 100644 index 0000000000..1d6495d199 --- /dev/null +++ b/src/lib/libcrypto/man/ASN1_STRING_print_ex.3 | |||
@@ -0,0 +1,151 @@ | |||
1 | .Dd July 17, 2014 | ||
2 | .Dt ASN1_STRING_PRINT_EX 3 | ||
3 | .Os | ||
4 | .Sh NAME | ||
5 | .Nm ASN1_STRING_print_ex , | ||
6 | .Nm ASN1_STRING_print_ex_fp , | ||
7 | .Nm ASN1_STRING_print | ||
8 | .Nd ASN1_STRING output routines | ||
9 | .Sh SYNOPSIS | ||
10 | .In openssl/asn1.h | ||
11 | .Ft int | ||
12 | .Fo ASN1_STRING_print_ex | ||
13 | .Fa "BIO *out" | ||
14 | .Fa "ASN1_STRING *str" | ||
15 | .Fa "unsigned long flags" | ||
16 | .Fc | ||
17 | .Ft int | ||
18 | .Fo ASN1_STRING_print_ex_fp | ||
19 | .Fa "FILE *fp" | ||
20 | .Fa "ASN1_STRING *str" | ||
21 | .Fa "unsigned long flags" | ||
22 | .Fc | ||
23 | .Ft int | ||
24 | .Fo ASN1_STRING_print | ||
25 | .Fa "BIO *out" | ||
26 | .Fa "ASN1_STRING *str" | ||
27 | .Fc | ||
28 | .Sh DESCRIPTION | ||
29 | These functions output an | ||
30 | .Vt ASN1_STRING | ||
31 | structure. | ||
32 | .Vt ASN1_STRING | ||
33 | is used to | ||
34 | represent all the ASN1 string types. | ||
35 | .Pp | ||
36 | .Fn ASN1_STRING_print_ex | ||
37 | outputs | ||
38 | .Fa str | ||
39 | to | ||
40 | .Fa out , | ||
41 | the format is determined by the options | ||
42 | .Fa flags . | ||
43 | .Fn ASN1_STRING_print_ex_fp | ||
44 | is identical except it outputs to | ||
45 | .Fa fp | ||
46 | instead. | ||
47 | .Pp | ||
48 | .Fn ASN1_STRING_print | ||
49 | prints | ||
50 | .Fa str | ||
51 | to | ||
52 | .Fa out | ||
53 | but using a different format to | ||
54 | .Fn ASN1_STRING_print_ex . | ||
55 | It replaces unprintable characters (other than CR, LF) with | ||
56 | .Sq \&. . | ||
57 | .Sh NOTES | ||
58 | .Fn ASN1_STRING_print | ||
59 | is a legacy function which should be avoided in new | ||
60 | applications. | ||
61 | .Pp | ||
62 | Although there are a large number of options frequently | ||
63 | .Dv ASN1_STRFLGS_RFC2253 | ||
64 | is suitable, or on UTF8 terminals | ||
65 | .Dv ASN1_STRFLGS_RFC2253 No & | ||
66 | .Pf ~ Dv ASN1_STRFLGS_ESC_MSB . | ||
67 | .Pp | ||
68 | The complete set of supported options for | ||
69 | .Fa flags | ||
70 | is listed below. | ||
71 | .Pp | ||
72 | Various characters can be escaped. | ||
73 | If | ||
74 | .Dv ASN1_STRFLGS_ESC_2253 | ||
75 | is set, the characters determined by RFC2253 are escaped. | ||
76 | If | ||
77 | .Dv ASN1_STRFLGS_ESC_CTRL | ||
78 | is set, control characters are escaped. | ||
79 | If | ||
80 | .Dv ASN1_STRFLGS_ESC_MSB | ||
81 | is set, characters with the MSB set are escaped: this option should | ||
82 | .Em not | ||
83 | be used if the terminal correctly interprets UTF8 sequences. | ||
84 | .Pp | ||
85 | Escaping takes several forms. | ||
86 | .Pp | ||
87 | If the character being escaped is a 16 bit character then the form "\eUXXXX" | ||
88 | is used using exactly four characters for the hex representation. | ||
89 | If it is 32 bits then "\eWXXXXXXXX" is used using eight characters | ||
90 | of its hex representation. | ||
91 | These forms will only be used if UTF8 conversion is not set (see below). | ||
92 | .Pp | ||
93 | Printable characters are normally escaped using the backslash | ||
94 | .Pq Sq \e | ||
95 | character. | ||
96 | If | ||
97 | .Dv ASN1_STRFLGS_ESC_QUOTE | ||
98 | is set, then the whole string is instead surrounded by double quote | ||
99 | characters: this is arguably more readable than the backslash notation. | ||
100 | Other characters use the "\eXX" using exactly two characters of the hex | ||
101 | representation. | ||
102 | .Pp | ||
103 | If | ||
104 | .Dv ASN1_STRFLGS_UTF8_CONVERT | ||
105 | is set, then characters are converted to UTF8 format first. | ||
106 | If the terminal supports the display of UTF8 sequences then this | ||
107 | option will correctly display multi byte characters. | ||
108 | .Pp | ||
109 | If | ||
110 | .Dv ASN1_STRFLGS_IGNORE_TYPE | ||
111 | is set, then the string type is not interpreted at all: | ||
112 | everything is assumed to be one byte per character. | ||
113 | This is primarily for debugging purposes and can result | ||
114 | in confusing output in multi character strings. | ||
115 | .Pp | ||
116 | If | ||
117 | .Dv ASN1_STRFLGS_SHOW_TYPE | ||
118 | is set, then the string type itself is printed out before its value | ||
119 | (for example "BMPSTRING"), this actually uses | ||
120 | .Fn ASN1_tag2str . | ||
121 | .Pp | ||
122 | The content of a string instead of being interpreted can be "dumped": | ||
123 | this just outputs the value of the string using the form #XXXX | ||
124 | using hex format for each octet. | ||
125 | .Pp | ||
126 | If | ||
127 | .Dv ASN1_STRFLGS_DUMP_ALL | ||
128 | is set, then any type is dumped. | ||
129 | .Pp | ||
130 | Normally non character string types (such as OCTET STRING) | ||
131 | are assumed to be one byte per character; if | ||
132 | .Dv ASN1_STRFLGS_DUMP_UNKNOWN | ||
133 | is set, then they will be dumped instead. | ||
134 | .Pp | ||
135 | When a type is dumped normally just the content octets are printed; if | ||
136 | .Dv ASN1_STRFLGS_DUMP_DER | ||
137 | is set, then the complete encoding is dumped | ||
138 | instead (including tag and length octets). | ||
139 | .Pp | ||
140 | .Dv ASN1_STRFLGS_RFC2253 | ||
141 | includes all the flags required by RFC2253. | ||
142 | It is equivalent to | ||
143 | .Dv ASN1_STRFLGS_ESC_2253 | | ||
144 | .Dv ASN1_STRFLGS_ESC_CTRL | | ||
145 | .Dv ASN1_STRFLGS_ESC_MSB | | ||
146 | .Dv ASN1_STRFLGS_UTF8_CONVERT | | ||
147 | .Dv ASN1_STRFLGS_DUMP_UNKNOWN | | ||
148 | .Dv ASN1_STRFLGS_DUMP_DER . | ||
149 | .Sh SEE ALSO | ||
150 | .Xr ASN1_tag2str 3 , | ||
151 | .Xr X509_NAME_print_ex 3 | ||
diff --git a/src/lib/libcrypto/man/ASN1_generate_nconf.3 b/src/lib/libcrypto/man/ASN1_generate_nconf.3 new file mode 100644 index 0000000000..0f0d3727d4 --- /dev/null +++ b/src/lib/libcrypto/man/ASN1_generate_nconf.3 | |||
@@ -0,0 +1,331 @@ | |||
1 | .Dd July 17, 2014 | ||
2 | .Dt ASN1_GENERATE_NCONF 3 | ||
3 | .Os | ||
4 | .Sh NAME | ||
5 | .Nm ASN1_generate_nconf , | ||
6 | .Nm ASN1_generate_v3 | ||
7 | .Nd ASN1 generation functions | ||
8 | .Sh SYNOPSIS | ||
9 | .In openssl/asn1.h | ||
10 | .Ft ASN1_TYPE * | ||
11 | .Fo ASN1_generate_nconf | ||
12 | .Fa "char *str" | ||
13 | .Fa "CONF *nconf" | ||
14 | .Fc | ||
15 | .Ft ASN1_TYPE * | ||
16 | .Fo ASN1_generate_v3 | ||
17 | .Fa "char *str" | ||
18 | .Fa "X509V3_CTX *cnf" | ||
19 | .Fc | ||
20 | .Sh DESCRIPTION | ||
21 | These functions generate the ASN1 encoding of a string in an | ||
22 | .Vt ASN1_TYPE | ||
23 | structure. | ||
24 | .Pp | ||
25 | .Fa str | ||
26 | contains the string to encode | ||
27 | .Fa nconf | ||
28 | or | ||
29 | .Fa cnf | ||
30 | contains the optional configuration information | ||
31 | where additional strings will be read from. | ||
32 | .Fa nconf | ||
33 | will typically come from a config file whereas | ||
34 | .Fa cnf | ||
35 | is obtained from an | ||
36 | .Vt X509V3_CTX | ||
37 | structure which will typically be used | ||
38 | by X509 v3 certificate extension functions. | ||
39 | .Fa cnf | ||
40 | or | ||
41 | .Fa nconf | ||
42 | can be set to | ||
43 | .Dv NULL | ||
44 | if no additional configuration will be used. | ||
45 | .Sh GENERATION STRING FORMAT | ||
46 | The actual data encoded is determined by the string | ||
47 | .Fa str | ||
48 | and the configuration information. | ||
49 | The general format of the string is: | ||
50 | .Pp | ||
51 | .D1 Oo Ar modifier , Oc Ns Ar type Ns Op : Ns Ar value | ||
52 | .Pp | ||
53 | That is zero or more comma separated modifiers followed by a type | ||
54 | followed by an optional colon and a value. | ||
55 | The formats of | ||
56 | .Ar type , | ||
57 | .Ar value | ||
58 | and | ||
59 | .Ar modifier | ||
60 | are explained below. | ||
61 | .Ss Supported types | ||
62 | The supported types are listed below. | ||
63 | Unless otherwise specified, only the | ||
64 | .Cm ASCII | ||
65 | format is permissible. | ||
66 | .Bl -tag -width Ds | ||
67 | .It Cm BOOLEAN , BOOL | ||
68 | This encodes a boolean type. | ||
69 | The | ||
70 | .Ar value | ||
71 | string is mandatory and should be | ||
72 | .Cm TRUE | ||
73 | or | ||
74 | .Cm FALSE . | ||
75 | Additionally | ||
76 | .Cm true , | ||
77 | .Cm Y , | ||
78 | .Cm y , | ||
79 | .Cm YES , | ||
80 | .Cm yes , | ||
81 | .Cm false , | ||
82 | .Cm N , | ||
83 | .Cm n , | ||
84 | .Cm NO | ||
85 | and | ||
86 | .Cm no | ||
87 | are acceptable. | ||
88 | .It Cm NULL | ||
89 | Encode the NULL type. | ||
90 | The | ||
91 | .Ar value | ||
92 | string must not be present. | ||
93 | .It Cm INTEGER , INT | ||
94 | Encodes an ASN1 INTEGER type. | ||
95 | The | ||
96 | .Ar value | ||
97 | string represents the value of the integer. | ||
98 | It can be prefaced by a minus sign | ||
99 | and is normally interpreted as a decimal value unless the prefix | ||
100 | .Cm 0x | ||
101 | is included. | ||
102 | .It Cm ENUMERATED , ENUM | ||
103 | Encodes the ASN1 ENUMERATED type. | ||
104 | It is otherwise identical to | ||
105 | .Cm INTEGER . | ||
106 | .It Cm OBJECT , OID | ||
107 | Encodes an ASN1 OBJECT IDENTIFIER. | ||
108 | The | ||
109 | .Ar value | ||
110 | string can be a short name, a long name, or numerical format. | ||
111 | .It Cm UTCTIME , UTC | ||
112 | Encodes an ASN1 UTCTime structure. | ||
113 | The value should be in the format | ||
114 | .Ar YYMMDDHHMMSSZ . | ||
115 | .It Cm GENERALIZEDTIME , GENTIME | ||
116 | Encodes an ASN1 GeneralizedTime structure. | ||
117 | The value should be in the format | ||
118 | .Ar YYYYMMDDHHMMSSZ . | ||
119 | .It Cm OCTETSTRING , OCT | ||
120 | Encodes an ASN1 OCTET STRING. | ||
121 | .Ar value | ||
122 | represents the contents of this structure. | ||
123 | The format strings | ||
124 | .Cm ASCII | ||
125 | and | ||
126 | .Cm HEX | ||
127 | can be used to specify the format of | ||
128 | .Ar value . | ||
129 | .It Cm BITSTRING , BITSTR | ||
130 | Encodes an ASN1 BIT STRING. | ||
131 | .Ar value | ||
132 | represents the contents of this structure. | ||
133 | The format strings | ||
134 | .Cm ASCII , | ||
135 | .Cm HEX , | ||
136 | and | ||
137 | .Cm BITLIST | ||
138 | can be used to specify the format of | ||
139 | .Ar value . | ||
140 | .Pp | ||
141 | If the format is anything other than | ||
142 | .Cm BITLIST , | ||
143 | the number of unused bits is set to zero. | ||
144 | .It Xo | ||
145 | .Cm BMPSTRING , BMP , | ||
146 | .Cm GeneralString , | ||
147 | .Cm IA5STRING , IA5 , | ||
148 | .Cm NUMERICSTRING , NUMERIC , | ||
149 | .Cm PRINTABLESTRING , PRINTABLE , | ||
150 | .Cm T61STRING , T61 , | ||
151 | .Cm TELETEXSTRING , | ||
152 | .Cm UNIVERSALSTRING , UNIV , | ||
153 | .Cm UTF8String , UTF8 , | ||
154 | .Cm VISIBLESTRING , VISIBLE | ||
155 | .Xc | ||
156 | These encode the corresponding string types. | ||
157 | .Ar value | ||
158 | represents the contents of this structure. | ||
159 | The format can be | ||
160 | .Cm ASCII | ||
161 | or | ||
162 | .Cm UTF8 . | ||
163 | .It Cm SEQUENCE , SEQ , SET | ||
164 | Formats the result as an ASN1 SEQUENCE or SET type. | ||
165 | .Ar value | ||
166 | should be a section name which will contain the contents. | ||
167 | The field names in the section are ignored | ||
168 | and the values are in the generated string format. | ||
169 | If | ||
170 | .Ar value | ||
171 | is absent, then an empty SEQUENCE will be encoded. | ||
172 | .El | ||
173 | .Ss Modifiers | ||
174 | Modifiers affect the following structure. | ||
175 | They can be used to add EXPLICIT or IMPLICIT tagging, add wrappers, | ||
176 | or to change the string format of the final type and value. | ||
177 | The supported formats are: | ||
178 | .Bl -tag -width Ds | ||
179 | .It Cm EXPLICIT , EXP | ||
180 | Add an explicit tag to the following structure. | ||
181 | This string should be followed by a colon | ||
182 | and the tag value to use as a decimal value. | ||
183 | .Pp | ||
184 | By following the number with | ||
185 | .Cm U , | ||
186 | .Cm A , | ||
187 | .Cm P | ||
188 | or | ||
189 | .Cm C , | ||
190 | UNIVERSAL, APPLICATION, PRIVATE or CONTEXT SPECIFIC tagging can be used. | ||
191 | The default is CONTEXT SPECIFIC. | ||
192 | .It Cm IMPLICIT , IMP | ||
193 | This is the same as | ||
194 | .Cm EXPLICIT | ||
195 | except IMPLICIT tagging is used instead. | ||
196 | .It Cm OCTWRAP , SEQWRAP , SETWRAP , BITWRAP | ||
197 | The following structure is surrounded by | ||
198 | an OCTET STRING, a SEQUENCE, a SET, or a BIT STRING, respectively. | ||
199 | For a BIT STRING the number of unused bits is set to zero. | ||
200 | .It Cm FORMAT | ||
201 | This specifies the format of the ultimate value. | ||
202 | It should be followed by a colon and one of the strings | ||
203 | .Cm ASCII , | ||
204 | .Cm UTF8 , | ||
205 | .Cm HEX , | ||
206 | or | ||
207 | .Cm BITLIST . | ||
208 | .Pp | ||
209 | If no format specifier is included, then | ||
210 | .Cm ASCII | ||
211 | is used. | ||
212 | If | ||
213 | .Cm UTF8 | ||
214 | is specified, then the | ||
215 | .Ar value | ||
216 | string must be a valid UTF8 string. | ||
217 | For | ||
218 | .Cm HEX , | ||
219 | the output must be a set of hex digits. | ||
220 | .Cm BITLIST | ||
221 | (which is only valid for a BIT STRING) is a comma separated list | ||
222 | of the indices of the set bits, all other bits are zero. | ||
223 | .El | ||
224 | .Sh RETURN VALUES | ||
225 | .Fn ASN1_generate_nconf | ||
226 | and | ||
227 | .Fn ASN1_generate_v3 | ||
228 | return the encoded data as an | ||
229 | .Vt ASN1_TYPE | ||
230 | structure or | ||
231 | .Dv NULL | ||
232 | if an error occurred. | ||
233 | .Pp | ||
234 | The error codes can be obtained by | ||
235 | .Xr ERR_get_error 3 . | ||
236 | .Sh EXAMPLES | ||
237 | A simple IA5String: | ||
238 | .Pp | ||
239 | .Dl IA5STRING:Hello World | ||
240 | .Pp | ||
241 | An IA5String explicitly tagged: | ||
242 | .Pp | ||
243 | .Dl EXPLICIT:0,IA5STRING:Hello World | ||
244 | .Pp | ||
245 | An IA5String explicitly tagged using APPLICATION tagging: | ||
246 | .Pp | ||
247 | .Dl EXPLICIT:0A,IA5STRING:Hello World | ||
248 | .Pp | ||
249 | A BITSTRING with bits 1 and 5 set and all others zero: | ||
250 | .Pp | ||
251 | .Dl FORMAT:BITLIST,BITSTRING:1,5 | ||
252 | .Pp | ||
253 | A more complex example using a config file to produce a | ||
254 | SEQUENCE consiting of a BOOL an OID and a UTF8String: | ||
255 | .Bd -literal -offset indent | ||
256 | asn1 = SEQUENCE:seq_section | ||
257 | |||
258 | [seq_section] | ||
259 | |||
260 | field1 = BOOLEAN:TRUE | ||
261 | field2 = OID:commonName | ||
262 | field3 = UTF8:Third field | ||
263 | .Ed | ||
264 | .Pp | ||
265 | This example produces an RSAPrivateKey structure. | ||
266 | This is the key contained in the file | ||
267 | .Pa client.pem | ||
268 | in all OpenSSL distributions. | ||
269 | Note that the field names such as | ||
270 | .Qq coeff | ||
271 | are ignored and are present just for clarity. | ||
272 | .Bd -literal -offset 2n | ||
273 | asn1=SEQUENCE:private_key | ||
274 | [private_key] | ||
275 | version=INTEGER:0 | ||
276 | |||
277 | n=INTEGER:0xBB6FE79432CC6EA2D8F970675A5A87BFBE1AFF0BE63E879F2AFFB93644\e | ||
278 | D4D2C6D000430DEC66ABF47829E74B8C5108623A1C0EE8BE217B3AD8D36D5EB4FCA1D9 | ||
279 | |||
280 | e=INTEGER:0x010001 | ||
281 | |||
282 | d=INTEGER:0x6F05EAD2F27FFAEC84BEC360C4B928FD5F3A9865D0FCAAD291E2A52F4A\e | ||
283 | F810DC6373278C006A0ABBA27DC8C63BF97F7E666E27C5284D7D3B1FFFE16B7A87B51D | ||
284 | |||
285 | p=INTEGER:0xF3929B9435608F8A22C208D86795271D54EBDFB09DDEF539AB083DA912\e | ||
286 | D4BD57 | ||
287 | |||
288 | q=INTEGER:0xC50016F89DFF2561347ED1186A46E150E28BF2D0F539A1594BBD7FE467\e | ||
289 | 46EC4F | ||
290 | |||
291 | exp1=INTEGER:0x9E7D4326C924AFC1DEA40B45650134966D6F9DFA3A7F9D698CD4ABEA\e | ||
292 | 9C0A39B9 | ||
293 | |||
294 | exp2=INTEGER:0xBA84003BB95355AFB7C50DF140C60513D0BA51D637272E355E397779\e | ||
295 | E7B2458F | ||
296 | |||
297 | coeff=INTEGER:0x30B9E4F2AFA5AC679F920FC83F1F2DF1BAF1779CF989447FABC2F5\e | ||
298 | 628657053A | ||
299 | .Ed | ||
300 | .Pp | ||
301 | This example is the corresponding public key in a SubjectPublicKeyInfo | ||
302 | structure: | ||
303 | .Bd -literal -offset 2n | ||
304 | # Start with a SEQUENCE | ||
305 | asn1=SEQUENCE:pubkeyinfo | ||
306 | |||
307 | # pubkeyinfo contains an algorithm identifier and the public key | ||
308 | # wrapped in a BIT STRING | ||
309 | [pubkeyinfo] | ||
310 | algorithm=SEQUENCE:rsa_alg | ||
311 | pubkey=BITWRAP,SEQUENCE:rsapubkey | ||
312 | |||
313 | # algorithm ID for RSA is just an OID and a NULL | ||
314 | [rsa_alg] | ||
315 | algorithm=OID:rsaEncryption | ||
316 | parameter=NULL | ||
317 | |||
318 | # Actual public key: modulus and exponent | ||
319 | [rsapubkey] | ||
320 | n=INTEGER:0xBB6FE79432CC6EA2D8F970675A5A87BFBE1AFF0BE63E879F2AFFB93644\e | ||
321 | D4D2C6D000430DEC66ABF47829E74B8C5108623A1C0EE8BE217B3AD8D36D5EB4FCA1D9 | ||
322 | |||
323 | e=INTEGER:0x010001 | ||
324 | .Ed | ||
325 | .Sh SEE ALSO | ||
326 | .Xr ERR_get_error 3 | ||
327 | .Sh HISTORY | ||
328 | .Fn ASN1_generate_nconf | ||
329 | and | ||
330 | .Fn ASN1_generate_v3 | ||
331 | were added to OpenSSL 0.9.8. | ||
diff --git a/src/lib/libcrypto/man/Makefile b/src/lib/libcrypto/man/Makefile index c6dc286934..5edbf7e394 100644 --- a/src/lib/libcrypto/man/Makefile +++ b/src/lib/libcrypto/man/Makefile | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: Makefile,v 1.15 2015/01/16 01:58:18 schwarze Exp $ | 1 | # $OpenBSD: Makefile,v 1.16 2015/02/14 13:54:59 schwarze Exp $ |
2 | 2 | ||
3 | .include <bsd.own.mk> # for NOMAN | 3 | .include <bsd.own.mk> # for NOMAN |
4 | 4 | ||
@@ -10,7 +10,9 @@ MAN= \ | |||
10 | ASN1_STRING_length.3 \ | 10 | ASN1_STRING_length.3 \ |
11 | ASN1_STRING_new.3 \ | 11 | ASN1_STRING_new.3 \ |
12 | ASN1_STRING_print_ex.3 \ | 12 | ASN1_STRING_print_ex.3 \ |
13 | ASN1_generate_nconf.3 \ | 13 | ASN1_generate_nconf.3 |
14 | |||
15 | GENMAN= \ | ||
14 | BF_set_key.3 \ | 16 | BF_set_key.3 \ |
15 | BIO.3 \ | 17 | BIO.3 \ |
16 | BIO_ctrl.3 \ | 18 | BIO_ctrl.3 \ |
@@ -195,6 +197,8 @@ MAN= \ | |||
195 | ui_compat.3 \ | 197 | ui_compat.3 \ |
196 | x509.3 \ | 198 | x509.3 \ |
197 | 199 | ||
200 | MAN+= ${GENMAN} | ||
201 | |||
198 | #MAN+= BIO_new_CMS.3 \ | 202 | #MAN+= BIO_new_CMS.3 \ |
199 | # CMS_add0_cert.3 \ | 203 | # CMS_add0_cert.3 \ |
200 | # CMS_add1_recipient_cert.3 \ | 204 | # CMS_add1_recipient_cert.3 \ |
@@ -1146,4 +1150,4 @@ maninstall: | |||
1146 | .include <bsd.subdir.mk> | 1150 | .include <bsd.subdir.mk> |
1147 | 1151 | ||
1148 | clean cleandir: | 1152 | clean cleandir: |
1149 | rm -f ${MAN} | 1153 | rm -f ${GENMAN} |