Artifact f03e4c690c691e2295946acf71e8ade5dcc2064e:
- File
asn1-x509.h
— part of check-in
[ef50f6c143]
at
2010-05-20 23:45:53
on branch trunk
— Corrected unpadding
Changed label to be generated, rather than derived from card
Added support for reading the modulus and exponent from an X.509 certificate
Added additional attributes (user: rkeene, size: 825) [annotate] [blame] [check-ins using]
0000: 23 69 66 6e 64 65 66 20 55 53 41 43 45 49 54 5f #ifndef USACEIT_ 0010: 41 53 4e 31 5f 58 35 30 39 5f 48 0a 23 64 65 66 ASN1_X509_H.#def 0020: 69 6e 65 20 55 53 41 43 45 49 54 5f 41 53 4e 31 ine USACEIT_ASN1 0030: 5f 58 35 30 39 5f 48 20 31 0a 0a 23 69 66 64 65 _X509_H 1..#ifde 0040: 66 20 48 41 56 45 5f 43 4f 4e 46 49 47 5f 48 0a f HAVE_CONFIG_H. 0050: 23 20 20 69 6e 63 6c 75 64 65 20 22 63 6f 6e 66 # include "conf 0060: 69 67 2e 68 22 0a 23 20 20 69 66 64 65 66 20 48 ig.h".# ifdef H 0070: 41 56 45 5f 55 4e 49 53 54 44 5f 48 0a 23 20 20 AVE_UNISTD_H.# 0080: 20 20 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 include <unist 0090: 64 2e 68 3e 0a 23 20 20 65 6e 64 69 66 0a 23 65 d.h>.# endif.#e 00a0: 6c 73 65 0a 23 20 20 69 6e 63 6c 75 64 65 20 3c lse.# include < 00b0: 75 6e 69 73 74 64 2e 68 3e 0a 23 65 6e 64 69 66 unistd.h>.#endif 00c0: 0a 0a 73 73 69 7a 65 5f 74 20 78 35 30 39 5f 74 ..ssize_t x509_t 00d0: 6f 5f 73 75 62 6a 65 63 74 28 76 6f 69 64 20 2a o_subject(void * 00e0: 78 35 30 39 5f 64 65 72 5f 62 75 66 2c 20 73 69 x509_der_buf, si 00f0: 7a 65 5f 74 20 78 35 30 39 5f 64 65 72 5f 62 75 ze_t x509_der_bu 0100: 66 5f 6c 65 6e 2c 20 76 6f 69 64 20 2a 2a 6f 75 f_len, void **ou 0110: 74 62 75 66 29 3b 0a 0a 73 73 69 7a 65 5f 74 20 tbuf);..ssize_t 0120: 78 35 30 39 5f 74 6f 5f 69 73 73 75 65 72 28 76 x509_to_issuer(v 0130: 6f 69 64 20 2a 78 35 30 39 5f 64 65 72 5f 62 75 oid *x509_der_bu 0140: 66 2c 20 73 69 7a 65 5f 74 20 78 35 30 39 5f 64 f, size_t x509_d 0150: 65 72 5f 62 75 66 5f 6c 65 6e 2c 20 76 6f 69 64 er_buf_len, void 0160: 20 2a 2a 6f 75 74 62 75 66 29 3b 0a 0a 73 73 69 **outbuf);..ssi 0170: 7a 65 5f 74 20 78 35 30 39 5f 74 6f 5f 73 65 72 ze_t x509_to_ser 0180: 69 61 6c 28 76 6f 69 64 20 2a 78 35 30 39 5f 64 ial(void *x509_d 0190: 65 72 5f 62 75 66 2c 20 73 69 7a 65 5f 74 20 78 er_buf, size_t x 01a0: 35 30 39 5f 64 65 72 5f 62 75 66 5f 6c 65 6e 2c 509_der_buf_len, 01b0: 20 76 6f 69 64 20 2a 2a 6f 75 74 62 75 66 29 3b void **outbuf); 01c0: 0a 0a 73 73 69 7a 65 5f 74 20 78 35 30 39 5f 74 ..ssize_t x509_t 01d0: 6f 5f 6d 6f 64 75 6c 75 73 28 76 6f 69 64 20 2a o_modulus(void * 01e0: 78 35 30 39 5f 64 65 72 5f 62 75 66 2c 20 73 69 x509_der_buf, si 01f0: 7a 65 5f 74 20 78 35 30 39 5f 64 65 72 5f 62 75 ze_t x509_der_bu 0200: 66 5f 6c 65 6e 2c 20 76 6f 69 64 20 2a 2a 6f 75 f_len, void **ou 0210: 74 62 75 66 29 3b 0a 0a 73 73 69 7a 65 5f 74 20 tbuf);..ssize_t 0220: 78 35 30 39 5f 74 6f 5f 65 78 70 6f 6e 65 6e 74 x509_to_exponent 0230: 28 76 6f 69 64 20 2a 78 35 30 39 5f 64 65 72 5f (void *x509_der_ 0240: 62 75 66 2c 20 73 69 7a 65 5f 74 20 78 35 30 39 buf, size_t x509 0250: 5f 64 65 72 5f 62 75 66 5f 6c 65 6e 2c 20 76 6f _der_buf_len, vo 0260: 69 64 20 2a 2a 6f 75 74 62 75 66 29 3b 0a 0a 73 id **outbuf);..s 0270: 73 69 7a 65 5f 74 20 78 35 30 39 5f 74 6f 5f 6b size_t x509_to_k 0280: 65 79 73 69 7a 65 28 76 6f 69 64 20 2a 78 35 30 eysize(void *x50 0290: 39 5f 64 65 72 5f 62 75 66 2c 20 73 69 7a 65 5f 9_der_buf, size_ 02a0: 74 20 78 35 30 39 5f 64 65 72 5f 62 75 66 5f 6c t x509_der_buf_l 02b0: 65 6e 29 3b 0a 0a 73 73 69 7a 65 5f 74 20 78 35 en);..ssize_t x5 02c0: 30 39 5f 64 6e 5f 74 6f 5f 73 74 72 69 6e 67 28 09_dn_to_string( 02d0: 76 6f 69 64 20 2a 61 73 6e 31 5f 64 65 72 5f 62 void *asn1_der_b 02e0: 75 66 2c 20 73 69 7a 65 5f 74 20 61 73 6e 31 5f uf, size_t asn1_ 02f0: 64 65 72 5f 62 75 66 5f 6c 65 6e 2c 20 63 68 61 der_buf_len, cha 0300: 72 20 2a 6f 75 74 62 75 66 2c 20 73 69 7a 65 5f r *outbuf, size_ 0310: 74 20 6f 75 74 62 75 66 5f 6c 65 6e 2c 20 63 68 t outbuf_len, ch 0320: 61 72 20 2a 6d 61 74 63 68 6c 61 62 65 6c 29 3b ar *matchlabel); 0330: 0a 0a 23 65 6e 64 69 66 0a ..#endif.