1.\" Automatically generated by Pod::Man version 1.15
| 1.\" Automatically generated by Pod::Man version 1.15
|
2.\" Mon Jan 13 19:26:46 2003
| 2.\" Mon Feb 3 10:01:37 2003
|
3.\" 4.\" Standard preamble: 5.\" ====================================================================== 6.de Sh \" Subsection heading 7.br 8.if t .Sp 9.ne 5 10.PP 11\fB\\$1\fR 12.PP 13.. 14.de Sp \" Vertical space (when we can't use .PP) 15.if t .sp .5v 16.if n .sp 17.. 18.de Ip \" List item 19.br 20.ie \\n(.$>=3 .ne \\$3 21.el .ne 3 22.IP "\\$1" \\$2 23.. 24.de Vb \" Begin verbatim text 25.ft CW 26.nf 27.ne \\$1 28.. 29.de Ve \" End verbatim text 30.ft R 31 32.fi 33.. 34.\" Set up some character translations and predefined strings. \*(-- will 35.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left 36.\" double quote, and \*(R" will give a right double quote. | will give a 37.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used 38.\" to do unbreakable dashes and therefore won't be available. \*(C` and 39.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> 40.tr \(*W-|\(bv\*(Tr 41.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' 42.ie n \{\ 43. ds -- \(*W- 44. ds PI pi 45. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch 46. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch 47. ds L" "" 48. ds R" "" 49. ds C` "" 50. ds C' "" 51'br\} 52.el\{\ 53. ds -- \|\(em\| 54. ds PI \(*p 55. ds L" `` 56. ds R" '' 57'br\} 58.\" 59.\" If the F register is turned on, we'll generate index entries on stderr 60.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and 61.\" index entries marked with X<> in POD. Of course, you'll have to process 62.\" the output yourself in some meaningful fashion. 63.if \nF \{\ 64. de IX 65. tm Index:\\$1\t\\n%\t"\\$2" 66.. 67. nr % 0 68. rr F 69.\} 70.\" 71.\" For nroff, turn off justification. Always turn off hyphenation; it 72.\" makes way too many mistakes in technical documents. 73.hy 0 74.if n .na 75.\" 76.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). 77.\" Fear. Run. Save yourself. No user-serviceable parts. 78.bd B 3 79. \" fudge factors for nroff and troff 80.if n \{\ 81. ds #H 0 82. ds #V .8m 83. ds #F .3m 84. ds #[ \f1 85. ds #] \fP 86.\} 87.if t \{\ 88. ds #H ((1u-(\\\\n(.fu%2u))*.13m) 89. ds #V .6m 90. ds #F 0 91. ds #[ \& 92. ds #] \& 93.\} 94. \" simple accents for nroff and troff 95.if n \{\ 96. ds ' \& 97. ds ` \& 98. ds ^ \& 99. ds , \& 100. ds ~ ~ 101. ds / 102.\} 103.if t \{\ 104. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" 105. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' 106. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' 107. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' 108. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' 109. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' 110.\} 111. \" troff and (daisy-wheel) nroff accents 112.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' 113.ds 8 \h'\*(#H'\(*b\h'-\*(#H' 114.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] 115.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' 116.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' 117.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] 118.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] 119.ds ae a\h'-(\w'a'u*4/10)'e 120.ds Ae A\h'-(\w'A'u*4/10)'E 121. \" corrections for vroff 122.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' 123.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' 124. \" for low resolution devices (crt and lpr) 125.if \n(.H>23 .if \n(.V>19 \ 126\{\ 127. ds : e 128. ds 8 ss 129. ds o a 130. ds d- d\h'-1'\(ga 131. ds D- D\h'-1'\(hy 132. ds th \o'bp' 133. ds Th \o'LP' 134. ds ae ae 135. ds Ae AE 136.\} 137.rm #[ #] #H #V #F C 138.\" ====================================================================== 139.\" 140.IX Title "ASN1_STRING_length 3"
| 3.\" 4.\" Standard preamble: 5.\" ====================================================================== 6.de Sh \" Subsection heading 7.br 8.if t .Sp 9.ne 5 10.PP 11\fB\\$1\fR 12.PP 13.. 14.de Sp \" Vertical space (when we can't use .PP) 15.if t .sp .5v 16.if n .sp 17.. 18.de Ip \" List item 19.br 20.ie \\n(.$>=3 .ne \\$3 21.el .ne 3 22.IP "\\$1" \\$2 23.. 24.de Vb \" Begin verbatim text 25.ft CW 26.nf 27.ne \\$1 28.. 29.de Ve \" End verbatim text 30.ft R 31 32.fi 33.. 34.\" Set up some character translations and predefined strings. \*(-- will 35.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left 36.\" double quote, and \*(R" will give a right double quote. | will give a 37.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used 38.\" to do unbreakable dashes and therefore won't be available. \*(C` and 39.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> 40.tr \(*W-|\(bv\*(Tr 41.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' 42.ie n \{\ 43. ds -- \(*W- 44. ds PI pi 45. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch 46. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch 47. ds L" "" 48. ds R" "" 49. ds C` "" 50. ds C' "" 51'br\} 52.el\{\ 53. ds -- \|\(em\| 54. ds PI \(*p 55. ds L" `` 56. ds R" '' 57'br\} 58.\" 59.\" If the F register is turned on, we'll generate index entries on stderr 60.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and 61.\" index entries marked with X<> in POD. Of course, you'll have to process 62.\" the output yourself in some meaningful fashion. 63.if \nF \{\ 64. de IX 65. tm Index:\\$1\t\\n%\t"\\$2" 66.. 67. nr % 0 68. rr F 69.\} 70.\" 71.\" For nroff, turn off justification. Always turn off hyphenation; it 72.\" makes way too many mistakes in technical documents. 73.hy 0 74.if n .na 75.\" 76.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). 77.\" Fear. Run. Save yourself. No user-serviceable parts. 78.bd B 3 79. \" fudge factors for nroff and troff 80.if n \{\ 81. ds #H 0 82. ds #V .8m 83. ds #F .3m 84. ds #[ \f1 85. ds #] \fP 86.\} 87.if t \{\ 88. ds #H ((1u-(\\\\n(.fu%2u))*.13m) 89. ds #V .6m 90. ds #F 0 91. ds #[ \& 92. ds #] \& 93.\} 94. \" simple accents for nroff and troff 95.if n \{\ 96. ds ' \& 97. ds ` \& 98. ds ^ \& 99. ds , \& 100. ds ~ ~ 101. ds / 102.\} 103.if t \{\ 104. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" 105. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' 106. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' 107. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' 108. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' 109. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' 110.\} 111. \" troff and (daisy-wheel) nroff accents 112.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' 113.ds 8 \h'\*(#H'\(*b\h'-\*(#H' 114.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] 115.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' 116.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' 117.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] 118.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] 119.ds ae a\h'-(\w'a'u*4/10)'e 120.ds Ae A\h'-(\w'A'u*4/10)'E 121. \" corrections for vroff 122.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' 123.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' 124. \" for low resolution devices (crt and lpr) 125.if \n(.H>23 .if \n(.V>19 \ 126\{\ 127. ds : e 128. ds 8 ss 129. ds o a 130. ds d- d\h'-1'\(ga 131. ds D- D\h'-1'\(hy 132. ds th \o'bp' 133. ds Th \o'LP' 134. ds ae ae 135. ds Ae AE 136.\} 137.rm #[ #] #H #V #F C 138.\" ====================================================================== 139.\" 140.IX Title "ASN1_STRING_length 3"
|
141.TH ASN1_STRING_length 3 "0.9.7" "2003-01-13" "OpenSSL"
| 141.TH ASN1_STRING_length 3 "0.9.7" "2003-02-03" "OpenSSL"
|
142.UC 143.SH "NAME" 144ASN1_STRING_dup, ASN1_STRING_cmp, ASN1_STRING_set, ASN1_STRING_length, 145ASN1_STRING_length_set, ASN1_STRING_type, ASN1_STRING_data \- 146\&\s-1ASN1_STRING\s0 utility functions 147.SH "SYNOPSIS" 148.IX Header "SYNOPSIS" 149.Vb 2 150\& int ASN1_STRING_length(ASN1_STRING *x); 151\& unsigned char * ASN1_STRING_data(ASN1_STRING *x); 152.Ve 153.Vb 1 154\& ASN1_STRING * ASN1_STRING_dup(ASN1_STRING *a); 155.Ve 156.Vb 1 157\& int ASN1_STRING_cmp(ASN1_STRING *a, ASN1_STRING *b); 158.Ve 159.Vb 1 160\& int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len); 161.Ve 162.Vb 1 163\& int ASN1_STRING_type(ASN1_STRING *x); 164.Ve 165.Vb 1 166\& int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in); 167.Ve 168.SH "DESCRIPTION" 169.IX Header "DESCRIPTION" 170These functions allow an \fB\s-1ASN1_STRING\s0\fR structure to be manipulated. 171.PP 172\&\fIASN1_STRING_length()\fR returns the length of the content of \fBx\fR. 173.PP 174\&\fIASN1_STRING_data()\fR returns an internal pointer to the data of \fBx\fR. 175Since this is an internal pointer it should \fBnot\fR be freed or 176modified in any way. 177.PP 178\&\fIASN1_STRING_dup()\fR returns a copy of the structure \fBa\fR. 179.PP 180\&\fIASN1_STRING_cmp()\fR compares \fBa\fR and \fBb\fR returning 0 if the two 181are identical. The string types and content are compared. 182.PP 183\&\fIASN1_STRING_set()\fR sets the data of string \fBstr\fR to the buffer 184\&\fBdata\fR or length \fBlen\fR. The supplied data is copied. If \fBlen\fR 185is \-1 then the length is determined by strlen(data). 186.PP 187\&\fIASN1_STRING_type()\fR returns the type of \fBx\fR, using standard constants 188such as \fBV_ASN1_OCTET_STRING\fR. 189.PP 190\&\fIASN1_STRING_to_UTF8()\fR converts the string \fBin\fR to \s-1UTF8\s0 format, the 191converted data is allocated in a buffer in \fB*out\fR. The length of 192\&\fBout\fR is returned or a negative error code. The buffer \fB*out\fR 193should be free using \fIOPENSSL_free()\fR. 194.SH "NOTES" 195.IX Header "NOTES" 196Almost all \s-1ASN1\s0 types in OpenSSL are represented as an \fB\s-1ASN1_STRING\s0\fR 197structure. Other types such as \fB\s-1ASN1_OCTET_STRING\s0\fR are simply typedefed 198to \fB\s-1ASN1_STRING\s0\fR and the functions call the \fB\s-1ASN1_STRING\s0\fR equivalents. 199\&\fB\s-1ASN1_STRING\s0\fR is also used for some \fB\s-1CHOICE\s0\fR types which consist 200entirely of primitive string types such as \fBDirectoryString\fR and 201\&\fBTime\fR. 202.PP 203These functions should \fBnot\fR be used to examine or modify \fB\s-1ASN1_INTEGER\s0\fR 204or \fB\s-1ASN1_ENUMERATED\s0\fR types: the relevant \fB\s-1INTEGER\s0\fR or \fB\s-1ENUMERATED\s0\fR 205utility functions should be used instead. 206.PP 207In general it cannot be assumed that the data returned by \fIASN1_STRING_data()\fR 208is null terminated or does not contain embedded nulls. The actual format 209of the data will depend on the actual string type itself: for example 210for and IA5String the data will be \s-1ASCII\s0, for a BMPString two bytes per 211character in big endian format, UTF8String will be in \s-1UTF8\s0 format. 212.PP 213Similar care should be take to ensure the data is in the correct format 214when calling \fIASN1_STRING_set()\fR. 215.SH "RETURN VALUES" 216.IX Header "RETURN VALUES" 217.SH "SEE ALSO" 218.IX Header "SEE ALSO" 219ERR_get_error(3) 220.SH "HISTORY" 221.IX Header "HISTORY"
| 142.UC 143.SH "NAME" 144ASN1_STRING_dup, ASN1_STRING_cmp, ASN1_STRING_set, ASN1_STRING_length, 145ASN1_STRING_length_set, ASN1_STRING_type, ASN1_STRING_data \- 146\&\s-1ASN1_STRING\s0 utility functions 147.SH "SYNOPSIS" 148.IX Header "SYNOPSIS" 149.Vb 2 150\& int ASN1_STRING_length(ASN1_STRING *x); 151\& unsigned char * ASN1_STRING_data(ASN1_STRING *x); 152.Ve 153.Vb 1 154\& ASN1_STRING * ASN1_STRING_dup(ASN1_STRING *a); 155.Ve 156.Vb 1 157\& int ASN1_STRING_cmp(ASN1_STRING *a, ASN1_STRING *b); 158.Ve 159.Vb 1 160\& int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len); 161.Ve 162.Vb 1 163\& int ASN1_STRING_type(ASN1_STRING *x); 164.Ve 165.Vb 1 166\& int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in); 167.Ve 168.SH "DESCRIPTION" 169.IX Header "DESCRIPTION" 170These functions allow an \fB\s-1ASN1_STRING\s0\fR structure to be manipulated. 171.PP 172\&\fIASN1_STRING_length()\fR returns the length of the content of \fBx\fR. 173.PP 174\&\fIASN1_STRING_data()\fR returns an internal pointer to the data of \fBx\fR. 175Since this is an internal pointer it should \fBnot\fR be freed or 176modified in any way. 177.PP 178\&\fIASN1_STRING_dup()\fR returns a copy of the structure \fBa\fR. 179.PP 180\&\fIASN1_STRING_cmp()\fR compares \fBa\fR and \fBb\fR returning 0 if the two 181are identical. The string types and content are compared. 182.PP 183\&\fIASN1_STRING_set()\fR sets the data of string \fBstr\fR to the buffer 184\&\fBdata\fR or length \fBlen\fR. The supplied data is copied. If \fBlen\fR 185is \-1 then the length is determined by strlen(data). 186.PP 187\&\fIASN1_STRING_type()\fR returns the type of \fBx\fR, using standard constants 188such as \fBV_ASN1_OCTET_STRING\fR. 189.PP 190\&\fIASN1_STRING_to_UTF8()\fR converts the string \fBin\fR to \s-1UTF8\s0 format, the 191converted data is allocated in a buffer in \fB*out\fR. The length of 192\&\fBout\fR is returned or a negative error code. The buffer \fB*out\fR 193should be free using \fIOPENSSL_free()\fR. 194.SH "NOTES" 195.IX Header "NOTES" 196Almost all \s-1ASN1\s0 types in OpenSSL are represented as an \fB\s-1ASN1_STRING\s0\fR 197structure. Other types such as \fB\s-1ASN1_OCTET_STRING\s0\fR are simply typedefed 198to \fB\s-1ASN1_STRING\s0\fR and the functions call the \fB\s-1ASN1_STRING\s0\fR equivalents. 199\&\fB\s-1ASN1_STRING\s0\fR is also used for some \fB\s-1CHOICE\s0\fR types which consist 200entirely of primitive string types such as \fBDirectoryString\fR and 201\&\fBTime\fR. 202.PP 203These functions should \fBnot\fR be used to examine or modify \fB\s-1ASN1_INTEGER\s0\fR 204or \fB\s-1ASN1_ENUMERATED\s0\fR types: the relevant \fB\s-1INTEGER\s0\fR or \fB\s-1ENUMERATED\s0\fR 205utility functions should be used instead. 206.PP 207In general it cannot be assumed that the data returned by \fIASN1_STRING_data()\fR 208is null terminated or does not contain embedded nulls. The actual format 209of the data will depend on the actual string type itself: for example 210for and IA5String the data will be \s-1ASCII\s0, for a BMPString two bytes per 211character in big endian format, UTF8String will be in \s-1UTF8\s0 format. 212.PP 213Similar care should be take to ensure the data is in the correct format 214when calling \fIASN1_STRING_set()\fR. 215.SH "RETURN VALUES" 216.IX Header "RETURN VALUES" 217.SH "SEE ALSO" 218.IX Header "SEE ALSO" 219ERR_get_error(3) 220.SH "HISTORY" 221.IX Header "HISTORY"
|