14 fd = open(name, OREAD);
17 if((d = dirfstat(fd)) == nil) {
21 s = malloc(d->length + 1);
22 if(s == nil || readn(fd, s, d->length) != d->length){
35 readcert(char *filename, int *pcertlen)
40 pem = readfile(filename);
42 werrstr("can't read %s: %r", filename);
45 binary = decodePEM(pem, "CERTIFICATE", pcertlen, nil);
48 werrstr("can't parse %s", filename);
55 readcertchain(char *filename)
59 chfile = readfile(filename);
61 werrstr("can't read %s: %r", filename);
64 return decodepemchain(chfile, "CERTIFICATE");