diff options
Diffstat (limited to 'src/lib/libcrypto/doc/d2i_ECPKParameters.pod')
| -rw-r--r-- | src/lib/libcrypto/doc/d2i_ECPKParameters.pod | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/src/lib/libcrypto/doc/d2i_ECPKParameters.pod b/src/lib/libcrypto/doc/d2i_ECPKParameters.pod new file mode 100644 index 0000000000..704b4ab352 --- /dev/null +++ b/src/lib/libcrypto/doc/d2i_ECPKParameters.pod | |||
| @@ -0,0 +1,84 @@ | |||
| 1 | =pod | ||
| 2 | |||
| 3 | =head1 NAME | ||
| 4 | |||
| 5 | d2i_ECPKParameters, i2d_ECPKParameters, d2i_ECPKParameters_bio, i2d_ECPKParameters_bio, d2i_ECPKParameters_fp, i2d_ECPKParameters_fp, ECPKParameters_print, ECPKParameters_print_fp - Functions for decoding and encoding ASN1 representations of elliptic curve entities | ||
| 6 | |||
| 7 | =head1 SYNOPSIS | ||
| 8 | |||
| 9 | #include <openssl/ec.h> | ||
| 10 | |||
| 11 | EC_GROUP *d2i_ECPKParameters(EC_GROUP **px, const unsigned char **in, long len); | ||
| 12 | int i2d_ECPKParameters(const EC_GROUP *x, unsigned char **out); | ||
| 13 | #define d2i_ECPKParameters_bio(bp,x) ASN1_d2i_bio_of(EC_GROUP,NULL,d2i_ECPKParameters,bp,x) | ||
| 14 | #define i2d_ECPKParameters_bio(bp,x) ASN1_i2d_bio_of_const(EC_GROUP,i2d_ECPKParameters,bp,x) | ||
| 15 | #define d2i_ECPKParameters_fp(fp,x) (EC_GROUP *)ASN1_d2i_fp(NULL, \ | ||
| 16 | (char *(*)())d2i_ECPKParameters,(fp),(unsigned char **)(x)) | ||
| 17 | #define i2d_ECPKParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECPKParameters,(fp), \ | ||
| 18 | (unsigned char *)(x)) | ||
| 19 | int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off); | ||
| 20 | int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off); | ||
| 21 | |||
| 22 | |||
| 23 | =head1 DESCRIPTION | ||
| 24 | |||
| 25 | The ECPKParameters encode and decode routines encode and parse the public parameters for an | ||
| 26 | B<EC_GROUP> structure, which represents a curve. | ||
| 27 | |||
| 28 | d2i_ECPKParameters() attempts to decode B<len> bytes at B<*in>. If | ||
| 29 | successful a pointer to the B<EC_GROUP> structure is returned. If an error | ||
| 30 | occurred then B<NULL> is returned. If B<px> is not B<NULL> then the | ||
| 31 | returned structure is written to B<*px>. If B<*px> is not B<NULL> | ||
| 32 | then it is assumed that B<*px> contains a valid B<EC_GROUP> | ||
| 33 | structure and an attempt is made to reuse it. If the call is | ||
| 34 | successful B<*in> is incremented to the byte following the | ||
| 35 | parsed data. | ||
| 36 | |||
| 37 | i2d_ECPKParameters() encodes the structure pointed to by B<x> into DER format. | ||
| 38 | If B<out> is not B<NULL> is writes the DER encoded data to the buffer | ||
| 39 | at B<*out>, and increments it to point after the data just written. | ||
| 40 | If the return value is negative an error occurred, otherwise it | ||
| 41 | returns the length of the encoded data. | ||
| 42 | |||
| 43 | If B<*out> is B<NULL> memory will be allocated for a buffer and the encoded | ||
| 44 | data written to it. In this case B<*out> is not incremented and it points to | ||
| 45 | the start of the data just written. | ||
| 46 | |||
| 47 | d2i_ECPKParameters_bio() is similar to d2i_ECPKParameters() except it attempts | ||
| 48 | to parse data from BIO B<bp>. | ||
| 49 | |||
| 50 | d2i_ECPKParameters_fp() is similar to d2i_ECPKParameters() except it attempts | ||
| 51 | to parse data from FILE pointer B<fp>. | ||
| 52 | |||
| 53 | i2d_ECPKParameters_bio() is similar to i2d_ECPKParameters() except it writes | ||
| 54 | the encoding of the structure B<x> to BIO B<bp> and it | ||
| 55 | returns 1 for success and 0 for failure. | ||
| 56 | |||
| 57 | i2d_ECPKParameters_fp() is similar to i2d_ECPKParameters() except it writes | ||
| 58 | the encoding of the structure B<x> to BIO B<bp> and it | ||
| 59 | returns 1 for success and 0 for failure. | ||
| 60 | |||
| 61 | These functions are very similar to the X509 functions described in L<d2i_X509(3)|d2i_X509(3)>, | ||
| 62 | where further notes and examples are available. | ||
| 63 | |||
| 64 | The ECPKParameters_print and ECPKParameters_print_fp functions print a human-readable output | ||
| 65 | of the public parameters of the EC_GROUP to B<bp> or B<fp>. The output lines are indented by B<off> spaces. | ||
| 66 | |||
| 67 | =head1 RETURN VALUES | ||
| 68 | |||
| 69 | d2i_ECPKParameters(), d2i_ECPKParameters_bio() and d2i_ECPKParameters_fp() return a valid B<EC_GROUP> structure | ||
| 70 | or B<NULL> if an error occurs. | ||
| 71 | |||
| 72 | i2d_ECPKParameters() returns the number of bytes successfully encoded or a negative | ||
| 73 | value if an error occurs. | ||
| 74 | |||
| 75 | i2d_ECPKParameters_bio(), i2d_ECPKParameters_fp(), ECPKParameters_print and ECPKParameters_print_fp | ||
| 76 | return 1 for success and 0 if an error occurs. | ||
| 77 | |||
| 78 | =head1 SEE ALSO | ||
| 79 | |||
| 80 | L<crypto(3)|crypto(3)>, L<ec(3)|ec(3)>, L<EC_GROUP_new(3)|EC_GROUP_new(3)>, L<EC_GROUP_copy(3)|EC_GROUP_copy(3)>, | ||
| 81 | L<EC_POINT_new(3)|EC_POINT_new(3)>, L<EC_POINT_add(3)|EC_POINT_add(3)>, L<EC_KEY_new(3)|EC_KEY_new(3)>, | ||
| 82 | L<EC_GFp_simple_method(3)|EC_GFp_simple_method(3)>, L<d2i_X509(3)|d2i_X509(3)> | ||
| 83 | |||
| 84 | =cut | ||
