Hex Artifact Content

Artifact ef61e21c1b12f19ddb0d3e6727b89ee437d59068:


0000: 23 69 66 6e 64 65 66 20 43 41 43 4b 45 59 5f 43  #ifndef CACKEY_C
0010: 48 52 4f 4d 45 5f 43 41 43 4b 45 59 5f 48 0a 23  HROME_CACKEY_H.#
0020: 64 65 66 69 6e 65 20 43 41 43 4b 45 59 5f 43 48  define CACKEY_CH
0030: 52 4f 4d 45 5f 43 41 43 4b 45 59 5f 48 20 31 0a  ROME_CACKEY_H 1.
0040: 0a 23 20 20 69 66 64 65 66 20 5f 5f 63 70 6c 75  .#  ifdef __cplu
0050: 73 70 6c 75 73 0a 65 78 74 65 72 6e 20 22 43 22  splus.extern "C"
0060: 20 7b 0a 23 20 20 65 6e 64 69 66 0a 0a 23 69 6e   {.#  endif..#in
0070: 63 6c 75 64 65 20 3c 73 74 64 64 65 66 2e 68 3e  clude <stddef.h>
0080: 0a 0a 73 74 72 75 63 74 20 63 61 63 6b 65 79 5f  ..struct cackey_
0090: 63 65 72 74 69 66 69 63 61 74 65 20 7b 0a 09 73  certificate {..s
00a0: 69 7a 65 5f 74 20 63 65 72 74 69 66 69 63 61 74  ize_t certificat
00b0: 65 5f 6c 65 6e 3b 0a 09 76 6f 69 64 20 2a 63 65  e_len;..void *ce
00c0: 72 74 69 66 69 63 61 74 65 3b 0a 7d 3b 0a 0a 74  rtificate;.};..t
00d0: 79 70 65 64 65 66 20 65 6e 75 6d 20 7b 0a 09 43  ypedef enum {..C
00e0: 41 43 4b 45 59 5f 43 48 52 4f 4d 45 5f 4f 4b 2c  ACKEY_CHROME_OK,
00f0: 0a 09 43 41 43 4b 45 59 5f 43 48 52 4f 4d 45 5f  ..CACKEY_CHROME_
0100: 45 52 52 4f 52 2c 0a 09 43 41 43 4b 45 59 5f 43  ERROR,..CACKEY_C
0110: 48 52 4f 4d 45 5f 4e 45 45 44 4c 4f 47 49 4e 2c  HROME_NEEDLOGIN,
0120: 0a 09 43 41 43 4b 45 59 5f 43 48 52 4f 4d 45 5f  ..CACKEY_CHROME_
0130: 4e 45 45 44 50 52 4f 54 45 43 54 45 44 4c 4f 47  NEEDPROTECTEDLOG
0140: 49 4e 0a 7d 20 63 61 63 6b 65 79 5f 63 68 72 6f  IN.} cackey_chro
0150: 6d 65 5f 72 65 74 75 72 6e 54 79 70 65 3b 0a 0a  me_returnType;..
0160: 69 6e 74 20 63 61 63 6b 65 79 5f 63 68 72 6f 6d  int cackey_chrom
0170: 65 5f 6c 69 73 74 43 65 72 74 69 66 69 63 61 74  e_listCertificat
0180: 65 73 28 73 74 72 75 63 74 20 63 61 63 6b 65 79  es(struct cackey
0190: 5f 63 65 72 74 69 66 69 63 61 74 65 20 2a 2a 63  _certificate **c
01a0: 65 72 74 69 66 69 63 61 74 65 73 29 3b 0a 76 6f  ertificates);.vo
01b0: 69 64 20 63 61 63 6b 65 79 5f 63 68 72 6f 6d 65  id cackey_chrome
01c0: 5f 66 72 65 65 43 65 72 74 69 66 69 63 61 74 65  _freeCertificate
01d0: 73 28 73 74 72 75 63 74 20 63 61 63 6b 65 79 5f  s(struct cackey_
01e0: 63 65 72 74 69 66 69 63 61 74 65 20 2a 63 65 72  certificate *cer
01f0: 74 69 66 69 63 61 74 65 73 2c 20 69 6e 74 20 63  tificates, int c
0200: 65 72 74 69 66 69 63 61 74 65 73 43 6f 75 6e 74  ertificatesCount
0210: 29 3b 0a 0a 63 61 63 6b 65 79 5f 63 68 72 6f 6d  );..cackey_chrom
0220: 65 5f 72 65 74 75 72 6e 54 79 70 65 20 63 61 63  e_returnType cac
0230: 6b 65 79 5f 63 68 72 6f 6d 65 5f 73 69 67 6e 4d  key_chrome_signM
0240: 65 73 73 61 67 65 28 73 74 72 75 63 74 20 63 61  essage(struct ca
0250: 63 6b 65 79 5f 63 65 72 74 69 66 69 63 61 74 65  ckey_certificate
0260: 20 2a 63 65 72 74 69 66 69 63 61 74 65 2c 20 76   *certificate, v
0270: 6f 69 64 20 2a 64 61 74 61 2c 20 75 6e 73 69 67  oid *data, unsig
0280: 6e 65 64 20 6c 6f 6e 67 20 64 61 74 61 4c 65 6e  ned long dataLen
0290: 67 74 68 2c 20 76 6f 69 64 20 2a 64 65 73 74 69  gth, void *desti
02a0: 6e 61 74 69 6f 6e 2c 20 75 6e 73 69 67 6e 65 64  nation, unsigned
02b0: 20 6c 6f 6e 67 20 2a 64 65 73 74 69 6e 61 74 69   long *destinati
02c0: 6f 6e 4c 65 6e 67 74 68 2c 20 63 68 61 72 20 2a  onLength, char *
02d0: 2a 70 69 6e 50 72 6f 6d 70 74 2c 20 63 6f 6e 73  *pinPrompt, cons
02e0: 74 20 63 68 61 72 20 2a 70 69 6e 29 3b 0a 0a 76  t char *pin);..v
02f0: 6f 69 64 20 63 61 63 6b 65 79 5f 63 68 72 6f 6d  oid cackey_chrom
0300: 65 5f 74 65 72 6d 69 6e 61 74 65 28 76 6f 69 64  e_terminate(void
0310: 29 3b 0a 0a 23 20 20 69 66 64 65 66 20 5f 5f 63  );..#  ifdef __c
0320: 70 6c 75 73 70 6c 75 73 0a 7d 0a 23 20 20 65 6e  plusplus.}.#  en
0330: 64 69 66 0a 0a 23 65 6e 64 69 66 0a              dif..#endif.