Hex Artifact Content

Artifact b2869862b94ee118791f1f8c7646af3f09d44216:


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 74 61 74 69 63 20 73 73 69 7a 65 5f 74  ..static ssize_t
00d0: 20 78 35 30 39 5f 74 6f 5f 73 75 62 6a 65 63 74   x509_to_subject
00e0: 28 76 6f 69 64 20 2a 78 35 30 39 5f 64 65 72 5f  (void *x509_der_
00f0: 62 75 66 2c 20 73 69 7a 65 5f 74 20 78 35 30 39  buf, size_t x509
0100: 5f 64 65 72 5f 62 75 66 5f 6c 65 6e 2c 20 76 6f  _der_buf_len, vo
0110: 69 64 20 2a 2a 6f 75 74 62 75 66 29 3b 0a 0a 73  id **outbuf);..s
0120: 74 61 74 69 63 20 73 73 69 7a 65 5f 74 20 78 35  tatic ssize_t x5
0130: 30 39 5f 74 6f 5f 69 73 73 75 65 72 28 76 6f 69  09_to_issuer(voi
0140: 64 20 2a 78 35 30 39 5f 64 65 72 5f 62 75 66 2c  d *x509_der_buf,
0150: 20 73 69 7a 65 5f 74 20 78 35 30 39 5f 64 65 72   size_t x509_der
0160: 5f 62 75 66 5f 6c 65 6e 2c 20 76 6f 69 64 20 2a  _buf_len, void *
0170: 2a 6f 75 74 62 75 66 29 3b 0a 0a 73 74 61 74 69  *outbuf);..stati
0180: 63 20 73 73 69 7a 65 5f 74 20 78 35 30 39 5f 74  c ssize_t x509_t
0190: 6f 5f 73 65 72 69 61 6c 28 76 6f 69 64 20 2a 78  o_serial(void *x
01a0: 35 30 39 5f 64 65 72 5f 62 75 66 2c 20 73 69 7a  509_der_buf, siz
01b0: 65 5f 74 20 78 35 30 39 5f 64 65 72 5f 62 75 66  e_t x509_der_buf
01c0: 5f 6c 65 6e 2c 20 76 6f 69 64 20 2a 2a 6f 75 74  _len, void **out
01d0: 62 75 66 29 3b 0a 0a 73 74 61 74 69 63 20 73 73  buf);..static ss
01e0: 69 7a 65 5f 74 20 78 35 30 39 5f 74 6f 5f 70 75  ize_t x509_to_pu
01f0: 62 6b 65 79 28 76 6f 69 64 20 2a 78 35 30 39 5f  bkey(void *x509_
0200: 64 65 72 5f 62 75 66 2c 20 73 69 7a 65 5f 74 20  der_buf, size_t 
0210: 78 35 30 39 5f 64 65 72 5f 62 75 66 5f 6c 65 6e  x509_der_buf_len
0220: 2c 20 76 6f 69 64 20 2a 2a 6f 75 74 62 75 66 29  , void **outbuf)
0230: 3b 0a 0a 73 74 61 74 69 63 20 73 73 69 7a 65 5f  ;..static ssize_
0240: 74 20 78 35 30 39 5f 74 6f 5f 6d 6f 64 75 6c 75  t x509_to_modulu
0250: 73 28 76 6f 69 64 20 2a 78 35 30 39 5f 64 65 72  s(void *x509_der
0260: 5f 62 75 66 2c 20 73 69 7a 65 5f 74 20 78 35 30  _buf, size_t x50
0270: 39 5f 64 65 72 5f 62 75 66 5f 6c 65 6e 2c 20 76  9_der_buf_len, v
0280: 6f 69 64 20 2a 2a 6f 75 74 62 75 66 29 3b 0a 0a  oid **outbuf);..
0290: 73 74 61 74 69 63 20 73 73 69 7a 65 5f 74 20 78  static ssize_t x
02a0: 35 30 39 5f 74 6f 5f 65 78 70 6f 6e 65 6e 74 28  509_to_exponent(
02b0: 76 6f 69 64 20 2a 78 35 30 39 5f 64 65 72 5f 62  void *x509_der_b
02c0: 75 66 2c 20 73 69 7a 65 5f 74 20 78 35 30 39 5f  uf, size_t x509_
02d0: 64 65 72 5f 62 75 66 5f 6c 65 6e 2c 20 76 6f 69  der_buf_len, voi
02e0: 64 20 2a 2a 6f 75 74 62 75 66 29 3b 0a 0a 73 74  d **outbuf);..st
02f0: 61 74 69 63 20 73 73 69 7a 65 5f 74 20 78 35 30  atic ssize_t x50
0300: 39 5f 74 6f 5f 6b 65 79 73 69 7a 65 28 76 6f 69  9_to_keysize(voi
0310: 64 20 2a 78 35 30 39 5f 64 65 72 5f 62 75 66 2c  d *x509_der_buf,
0320: 20 73 69 7a 65 5f 74 20 78 35 30 39 5f 64 65 72   size_t x509_der
0330: 5f 62 75 66 5f 6c 65 6e 29 3b 0a 0a 73 74 61 74  _buf_len);..stat
0340: 69 63 20 73 73 69 7a 65 5f 74 20 78 35 30 39 5f  ic ssize_t x509_
0350: 64 6e 5f 74 6f 5f 73 74 72 69 6e 67 28 76 6f 69  dn_to_string(voi
0360: 64 20 2a 61 73 6e 31 5f 64 65 72 5f 62 75 66 2c  d *asn1_der_buf,
0370: 20 73 69 7a 65 5f 74 20 61 73 6e 31 5f 64 65 72   size_t asn1_der
0380: 5f 62 75 66 5f 6c 65 6e 2c 20 63 68 61 72 20 2a  _buf_len, char *
0390: 6f 75 74 62 75 66 2c 20 73 69 7a 65 5f 74 20 6f  outbuf, size_t o
03a0: 75 74 62 75 66 5f 6c 65 6e 2c 20 63 68 61 72 20  utbuf_len, char 
03b0: 2a 6d 61 74 63 68 6c 61 62 65 6c 29 3b 0a 0a 23  *matchlabel);..#
03c0: 65 6e 64 69 66 0a                                endif.