ec

[转载]借助openssl解析ECC公钥

六月ゝ 毕业季﹏ 提交于 2019-11-27 05:17:31
void GetPubKey(const char* FilePath, char* PubKey) { unsigned char Cert[4099]; unsigned char *pTmp = NULL; FILE *fp = NULL; fp=fopen(FilePath,“rb”); if( NULL != fp) { X509 *usrCert = NULL; //X509证书结构体,保存用户证书 unsigned long Certlen = 0; Certlen=fread(Cert,1,4096,fp); fclose(fp); //判断是否为DER编码的用户证书,并转化为X509结构体 pTmp = Cert; //usrCert = d2i_X509(NULL,(const unsigned char ** )&pTmp,Certlen); //if( NULL == usrCert) { BIO b; / 判断是否为PEM格式的数字证书 */ b=BIO_new_file(FilePath,“r”); PEM_read_bio_X509(b, &usrCert, NULL, NULL); BIO_free(b); if(usrCert==NULL) { return; } } //保存证书公钥 int derpubkeyLen = 0; EVP_PKEY

JSinDeep1:探索执行环境 (Execution Context)-ES3篇

情到浓时终转凉″ 提交于 2019-11-26 22:48:27
JSinDeep1: 探索执行环境 (Execution Context)-ES3 篇 声明 JSinDeep 系列文章主要内容为作者对 ECMA-262 标准 中一些概念的理解和探究,同时意在帮助大家快速理解。本着严谨的态度,同时又需避免 API 式的枯燥细节罗列。文章会以适当插图、例子去诠释概念,致力于通俗易懂。更具体、严谨、完整的描述建议阅读 ECMA262 文档。碍于作者水平有限,文中若有错误,欢迎大家批评指正。 *其它版本: English-Blog , English-PDF , Chinese-Blog , Chinese-PDF 概要 在我们写JavaScript代码时会定义一些变量、函数等。解释器在执行这些代码时是如何处理并找到我们定义的这些数据的?在程序执行时,引用这些变量等操作的背后都发生了什么?本文主要探讨 ECMA-262-3 标准 中的执行环境 (Execution Context) 及与之相关的一些内部机制和模型。 定义 当程序执行的控制权转移至ECMAScript可执行代码时,会进入到一个执行环境中 (Execution Context,缩写为EC) 。在一个EC内也可能进入到一个新的EC,这些EC逻辑上 1 会形成一个栈 (Stack) 。 EC 是程序运行时动态创建的。例如:每一个函数在被调用时都会创建一个EC,重复调用函数 (包含递归调用的情形