readcert.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 51 行

C
51
字号
#include <u.h>#include <libc.h>#include <mp.h>#include <libsec.h>static char*readfile(char *name){	int fd;	char *s;	Dir *d;	fd = open(name, OREAD);	if(fd < 0)		return nil;	if((d = dirfstat(fd)) == nil)		return nil;	s = malloc(d->length + 1);	if(s == nil || readn(fd, s, d->length) != d->length){		free(s);		free(d);		close(fd);		return nil;	}	close(fd);	s[d->length] = '\0';	free(d);	return s;}uchar*readcert(char *filename, int *pcertlen){	char *pem;	uchar *binary;	pem = readfile(filename);	if(pem == nil){		werrstr("can't read %s", filename);		return nil;	}	binary = decodepem(pem, "CERTIFICATE", pcertlen);	free(pem);	if(binary == nil){		werrstr("can't parse %s", filename);		return nil;	}	return binary;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?