⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readcert.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
#include <u.h>#include <libc.h>#include <auth.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, nil);	free(pem);	if(binary == nil){		werrstr("can't parse %s", filename);		return nil;	}	return binary;}PEMChain *readcertchain(char *filename){	char *chfile;	PEMChain *chp;	chfile = readfile(filename);	if (chfile == nil) {		werrstr("can't read %s", filename);		return nil;	}	chp = decodepemchain(chfile, "CERTIFICATE");	return chp;}

⌨️ 快捷键说明

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