Commit manual pages after running 'man-update' and add new manual pages.
[dragonfly.git] / secure / lib / libcrypto / man / d2i_DSAPublicKey.3
1 .rn '' }`
2 ''' $RCSfile$$Revision$$Date$
3 '''
4 ''' $Log$
5 '''
6 .de Sh
7 .br
8 .if t .Sp
9 .ne 5
10 .PP
11 \fB\\$1\fR
12 .PP
13 ..
14 .de Sp
15 .if t .sp .5v
16 .if n .sp
17 ..
18 .de Ip
19 .br
20 .ie \\n(.$>=3 .ne \\$3
21 .el .ne 3
22 .IP "\\$1" \\$2
23 ..
24 .de Vb
25 .ft CW
26 .nf
27 .ne \\$1
28 ..
29 .de Ve
30 .ft R
31
32 .fi
33 ..
34 '''
35 '''
36 '''     Set up \*(-- to give an unbreakable dash;
37 '''     string Tr holds user defined translation string.
38 '''     Bell System Logo is used as a dummy character.
39 '''
40 .tr \(*W-|\(bv\*(Tr
41 .ie n \{\
42 .ds -- \(*W-
43 .ds PI pi
44 .if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
45 .if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
46 .ds L" ""
47 .ds R" ""
48 '''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
49 '''   \*(L" and \*(R", except that they are used on ".xx" lines,
50 '''   such as .IP and .SH, which do another additional levels of
51 '''   double-quote interpretation
52 .ds M" """
53 .ds S" """
54 .ds N" """""
55 .ds T" """""
56 .ds L' '
57 .ds R' '
58 .ds M' '
59 .ds S' '
60 .ds N' '
61 .ds T' '
62 'br\}
63 .el\{\
64 .ds -- \(em\|
65 .tr \*(Tr
66 .ds L" ``
67 .ds R" ''
68 .ds M" ``
69 .ds S" ''
70 .ds N" ``
71 .ds T" ''
72 .ds L' `
73 .ds R' '
74 .ds M' `
75 .ds S' '
76 .ds N' `
77 .ds T' '
78 .ds PI \(*p
79 'br\}
80 .\"     If the F register is turned on, we'll generate
81 .\"     index entries out stderr for the following things:
82 .\"             TH      Title 
83 .\"             SH      Header
84 .\"             Sh      Subsection 
85 .\"             Ip      Item
86 .\"             X<>     Xref  (embedded
87 .\"     Of course, you have to process the output yourself
88 .\"     in some meaninful fashion.
89 .if \nF \{
90 .de IX
91 .tm Index:\\$1\t\\n%\t"\\$2"
92 ..
93 .nr % 0
94 .rr F
95 .\}
96 .TH d2i_DSAPublicKey 3 "0.9.7d" "2/Sep/2004" "OpenSSL"
97 .UC
98 .if n .hy 0
99 .if n .na
100 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
101 .de CQ          \" put $1 in typewriter font
102 .ft CW
103 'if n "\c
104 'if t \\&\\$1\c
105 'if n \\&\\$1\c
106 'if n \&"
107 \\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
108 '.ft R
109 ..
110 .\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
111 .       \" AM - accent mark definitions
112 .bd B 3
113 .       \" fudge factors for nroff and troff
114 .if n \{\
115 .       ds #H 0
116 .       ds #V .8m
117 .       ds #F .3m
118 .       ds #[ \f1
119 .       ds #] \fP
120 .\}
121 .if t \{\
122 .       ds #H ((1u-(\\\\n(.fu%2u))*.13m)
123 .       ds #V .6m
124 .       ds #F 0
125 .       ds #[ \&
126 .       ds #] \&
127 .\}
128 .       \" simple accents for nroff and troff
129 .if n \{\
130 .       ds ' \&
131 .       ds ` \&
132 .       ds ^ \&
133 .       ds , \&
134 .       ds ~ ~
135 .       ds ? ?
136 .       ds ! !
137 .       ds /
138 .       ds q
139 .\}
140 .if t \{\
141 .       ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
142 .       ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
143 .       ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
144 .       ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
145 .       ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
146 .       ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
147 .       ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
148 .       ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
149 .       ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
150 .\}
151 .       \" troff and (daisy-wheel) nroff accents
152 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
153 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
154 .ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
155 .ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
156 .ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
157 .ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
158 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
159 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
160 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
161 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
162 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
163 .ds ae a\h'-(\w'a'u*4/10)'e
164 .ds Ae A\h'-(\w'A'u*4/10)'E
165 .ds oe o\h'-(\w'o'u*4/10)'e
166 .ds Oe O\h'-(\w'O'u*4/10)'E
167 .       \" corrections for vroff
168 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
169 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
170 .       \" for low resolution devices (crt and lpr)
171 .if \n(.H>23 .if \n(.V>19 \
172 \{\
173 .       ds : e
174 .       ds 8 ss
175 .       ds v \h'-1'\o'\(aa\(ga'
176 .       ds _ \h'-1'^
177 .       ds . \h'-1'.
178 .       ds 3 3
179 .       ds o a
180 .       ds d- d\h'-1'\(ga
181 .       ds D- D\h'-1'\(hy
182 .       ds th \o'bp'
183 .       ds Th \o'LP'
184 .       ds ae ae
185 .       ds Ae AE
186 .       ds oe oe
187 .       ds Oe OE
188 .\}
189 .rm #[ #] #H #V #F C
190 .SH "NAME"
191 d2i_DSAPublicKey, i2d_DSAPublicKey, d2i_DSAPrivateKey, i2d_DSAPrivateKey,
192 d2i_DSA_PUBKEY, i2d_DSA_PUBKEY, d2i_DSA_SIG, i2d_DSA_SIG \- DSA key encoding
193 and parsing functions.
194 .SH "SYNOPSIS"
195 .PP
196 .Vb 2
197 \& #include <openssl/dsa.h>
198 \& #include <openssl/x509.h>
199 .Ve
200 .Vb 1
201 \& DSA * d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length);
202 .Ve
203 .Vb 1
204 \& int i2d_DSAPublicKey(const DSA *a, unsigned char **pp);
205 .Ve
206 .Vb 1
207 \& DSA * d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length);
208 .Ve
209 .Vb 1
210 \& int i2d_DSA_PUBKEY(const DSA *a, unsigned char **pp);
211 .Ve
212 .Vb 1
213 \& DSA * d2i_DSAPrivateKey(DSA **a, const unsigned char **pp, long length);
214 .Ve
215 .Vb 1
216 \& int i2d_DSAPrivateKey(const DSA *a, unsigned char **pp);
217 .Ve
218 .Vb 1
219 \& DSA * d2i_DSAparams(DSA **a, const unsigned char **pp, long length);
220 .Ve
221 .Vb 1
222 \& int i2d_DSAparams(const DSA *a, unsigned char **pp);
223 .Ve
224 .Vb 1
225 \& DSA * d2i_DSA_SIG(DSA_SIG **a, const unsigned char **pp, long length);
226 .Ve
227 .Vb 1
228 \& int i2d_DSA_SIG(const DSA_SIG *a, unsigned char **pp);
229 .Ve
230 .SH "DESCRIPTION"
231 \fId2i_DSAPublicKey()\fR and \fIi2d_DSAPublicKey()\fR decode and encode the DSA public key
232 components structure.
233 .PP
234 \fId2i_DSA_PUBKEY()\fR and \fIi2d_DSA_PUBKEY()\fR decode and encode an DSA public key using
235 a SubjectPublicKeyInfo (certificate public key) structure.
236 .PP
237 \fId2i_DSAPrivateKey()\fR, \fIi2d_DSAPrivateKey()\fR decode and encode the DSA private key
238 components.
239 .PP
240 \fId2i_DSAparams()\fR, \fIi2d_DSAparams()\fR decode and encode the DSA parameters using
241 a \fBDss-Parms\fR structure as defined in RFC2459.
242 .PP
243 \fId2i_DSA_SIG()\fR, \fIi2d_DSA_SIG()\fR decode and encode a DSA signature using a
244 \fBDss-Sig-Value\fR structure as defined in RFC2459.
245 .PP
246 The usage of all of these functions is similar to the \fId2i_X509()\fR and
247 \fIi2d_X509()\fR described in the d2i_X509(3) manual page.
248 .SH "NOTES"
249 The \fBDSA\fR structure passed to the private key encoding functions should have
250 all the private key components present.
251 .PP
252 The data encoded by the private key functions is unencrypted and therefore 
253 offers no private key security.
254 .PP
255 The \fBDSA_PUBKEY\fR functions should be used in preference to the \fBDSAPublicKey\fR
256 functions when encoding public keys because they use a standard format.
257 .PP
258 The \fBDSAPublicKey\fR functions use an non standard format the actual data encoded
259 depends on the value of the \fBwrite_params\fR field of the \fBa\fR key parameter.
260 If \fBwrite_params\fR is zero then only the \fBpub_key\fR field is encoded as an
261 \fBINTEGER\fR. If \fBwrite_params\fR is 1 then a \fBSEQUENCE\fR consisting of the
262 \fBp\fR, \fBq\fR, \fBg\fR and \fBpub_key\fR respectively fields are encoded.
263 .PP
264 The \fBDSAPrivateKey\fR functions also use a non standard structure consiting
265 consisting of a SEQUENCE containing the \fBp\fR, \fBq\fR, \fBg\fR and \fBpub_key\fR and
266 \fBpriv_key\fR fields respectively.
267 .SH "SEE ALSO"
268 d2i_X509(3)
269 .SH "HISTORY"
270 TBA
271
272 .rn }` ''
273 .IX Title "d2i_DSAPublicKey 3"
274 .IX Name "d2i_DSAPublicKey, i2d_DSAPublicKey, d2i_DSAPrivateKey, i2d_DSAPrivateKey,
275 d2i_DSA_PUBKEY, i2d_DSA_PUBKEY, d2i_DSA_SIG, i2d_DSA_SIG - DSA key encoding
276 and parsing functions."
277
278 .IX Header "NAME"
279
280 .IX Header "SYNOPSIS"
281
282 .IX Header "DESCRIPTION"
283
284 .IX Header "NOTES"
285
286 .IX Header "SEE ALSO"
287
288 .IX Header "HISTORY"
289