verify signature pdf php(php如何做数字签名)

2026-04-24 19:30:02 0

verify signature pdf php(php如何做数字签名)

本篇文章给大家谈谈verify signature pdf php,以及php如何做数字签名对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录

php如何做数字签名

概括就是:“学会用PHP的openssl扩展!!”
1、先用openssl_pkey_new()函数产生一个私钥pri_key,
2、用openssl_csr_new()函数以私钥pri_key 产生一个信用证csr
3、用openssl_sign()函数以私钥pri_key对一段数据data产生一个数字签名signature。
4、用openssl_pkey_get_public()函数从信用证csr中获得公钥pub_key
5、把公钥pub_key、数字签名signature、数据data发给对方。
6、对方收到3项后,用openssl_verify()函数或其他验证工具,验证签名。
7、对方验证有效,开始使用你的信息data。验证无效,再找你扯皮。
整个过程的双方可以互换,即可让对方出具三项,你来验证。

php的openssl_sign($data,$sign,$private_key)这个函数的源码是什么

PHP_FUNCTION(openssl_sign)
{
zval **key, *signature;
EVP_PKEY *pkey;
int siglen;
unsigned char *sigbuf;
long keyresource = -1;
char * data;
int data_len;
EVP_MD_CTX md_ctx;
zval *method = NULL;
long signature_algo = OPENSSL_ALGO_SHA1;
const EVP_MD *mdtype;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "szZ|z", &data, &data_len, &signature, &key, &method) == FAILURE) {
return;
}
pkey = php_openssl_evp_from_zval(key, 0, "", 0, &keyresource TSRMLS_CC);
if (pkey == NULL) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "supplied key param cannot be coerced into a private key");
RETURN_FALSE;
}
if (method == NULL || Z_TYPE_P(method) == IS_LONG) {
if (method != NULL) {
signature_algo = Z_LVAL_P(method);
}
mdtype = php_openssl_get_evp_md_from_algo(signature_algo);
} else if (Z_TYPE_P(method) == IS_STRING) {
mdtype = EVP_get_digestbyname(Z_STRVAL_P(method));
} else {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown signature algorithm.");
RETURN_FALSE;
}
if (!mdtype) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown signature algorithm.");
RETURN_FALSE;
}
siglen = EVP_PKEY_size(pkey);
sigbuf = emalloc(siglen + 1);
EVP_SignInit(&md_ctx, mdtype);
EVP_SignUpdate(&md_ctx, data, data_len);
if (EVP_SignFinal (&md_ctx, sigbuf,(unsigned int *)&siglen, pkey)) {
zval_dtor(signature);
sigbuf = ’\0’;
ZVAL_STRINGL(signature, (char *)sigbuf, siglen, 0);
RETVAL_TRUE;
} else {
efree(sigbuf);
RETVAL_FALSE;
}
EVP_MD_CTX_cleanup(&md_ctx);
if (keyresource == -1) {
EVP_PKEY_free(pkey);
}
}

这个是函数的源码,C写的。源码可以在php官网下载一个php版本,解压打开里面的ext/openssl.c搜上面代码即可。

fail to verify whole-file signature 怎么解决

  签名验证失败,这是刷机失败的提示吧。
  一般这种情况,只能去官网下载完整升级包,重新刷机了,重新刷机可以拨打客服电话,会指导你操作(注意,原有手机中的内容会丢失!)

文章分享结束,verify signature pdf php和php如何做数字签名的答案你都知道了吗?欢迎再次光临本站哦!

verify signature pdf php(php如何做数字签名)

本文编辑:admin

本文相关文章:


redis怎么存一个php(php如何把key存储在不同的redis分片上)

redis怎么存一个php(php如何把key存储在不同的redis分片上)

这篇文章给大家聊聊关于redis怎么存一个php,以及php如何把key存储在不同的redis分片上对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录php如何把key存储在不同的redis分片上php 怎么把session写入

2026年7月18日 11:00

php如何读取文本?php程序如何部署

php如何读取文本?php程序如何部署

其实php如何的问题并不复杂,但是又很多的朋友都不太了解php如何读取文本,因此呢,今天小编就来为大家分享php如何的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录php如何读取文本php程序如何部署php执行f

2026年5月14日 20:30

php读取大文件(php如何读取CSV大文件并且将其导入数据库示例)

php读取大文件(php如何读取CSV大文件并且将其导入数据库示例)

大家好,如果您还对php读取大文件不太了解,没有关系,今天就由本站为大家分享php读取大文件的知识,包括php如何读取CSV大文件并且将其导入数据库示例的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录php如何读取

2025年12月23日 10:30

php实现查询功能(php如何实现查询功能实现)

php实现查询功能(php如何实现查询功能实现)

这篇文章给大家聊聊关于php实现查询功能,以及php如何实现查询功能实现对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录php如何实现查询功能实现php查询时间段功能如何实现php怎样实现模糊查询如何使用PHP调用API接口实

2025年12月11日 00:30

更多文章:


solidarity词根词缀(英语中词性问题)

solidarity词根词缀(英语中词性问题)

本篇文章给大家谈谈solidarity词根词缀,以及英语中词性问题对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录英语中词性问题英语字根是什么英语三大构词法solidarity和unity的区别是什么常用词根词缀是哪些啊大约3

2025年6月3日 21:15

卵巢大小正常范围是多少(双侧卵巢大小正常值是多少)

卵巢大小正常范围是多少(双侧卵巢大小正常值是多少)

大家好,如果您还对卵巢大小正常范围是多少不太了解,没有关系,今天就由本站为大家分享卵巢大小正常范围是多少的知识,包括双侧卵巢大小正常值是多少的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录双侧卵巢大小正常值是多少卵

2025年8月14日 18:30

botim官网软件下载(聊天软件有哪些app)

botim官网软件下载(聊天软件有哪些app)

大家好,关于botim官网软件下载很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于聊天软件有哪些app的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录聊

2026年7月8日 20:15

code是什么意思c语言(C语言中,code uint8 a[] 里面的“code“是什么意思)

code是什么意思c语言(C语言中,code uint8 a[] 里面的“code“是什么意思)

各位老铁们,大家好,今天由我来为大家分享code是什么意思c语言,以及C语言中,code uint8 a[] 里面的“code“是什么意思的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,

2026年2月6日 01:45

随机数表分组(Excel表如何进行随机分组)

随机数表分组(Excel表如何进行随机分组)

其实随机数表分组的问题并不复杂,但是又很多的朋友都不太了解Excel表如何进行随机分组,因此呢,今天小编就来为大家分享随机数表分组的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录Excel表如何进行随机分组在ex

2025年12月10日 00:45

做网页怎么赚钱(网上赚钱最可靠的10种方法)

做网页怎么赚钱(网上赚钱最可靠的10种方法)

大家好,今天小编来为大家解答以下的问题,关于做网页怎么赚钱,网上赚钱最可靠的10种方法这个很多人还不知道,现在让我们一起来看看吧!本文目录网上赚钱最可靠的10种方法如何创建一个网站并赚大钱网站建设怎么样赚钱呢网站怎样赚钱啊网页如何盈利怎么利

2026年1月11日 12:00

中信银行app上开通的会员在哪里找?qq红色会员装扮专区怎么进

中信银行app上开通的会员在哪里找?qq红色会员装扮专区怎么进

各位老铁们,大家好,今天由我来为大家分享会员专区,以及中信银行app上开通的会员在哪里找的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录中信银行ap

2026年5月25日 19:30

网页模板建站(有网站模板怎么建站)

网页模板建站(有网站模板怎么建站)

“网页模板建站”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看网页模板建站(有网站模板怎么建站)!本文目录有网站模板怎么建站模板建网站的优缺点有网站模板怎么建站有网站模板的情况下建站的方法:1、对模板进行安装和修改。先建议在

2026年6月2日 18:45

编程语言转换(C语言编程:八进制转换为十进制)

编程语言转换(C语言编程:八进制转换为十进制)

各位老铁们好,相信很多人对编程语言转换都不是特别的了解,因此呢,今天就来为大家分享下关于编程语言转换以及C语言编程:八进制转换为十进制的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录C语言编程:八进制转换为十进制

2026年4月4日 17:45

mybatis plus批量删除(如何实现springmvc+mybatis用多选框批量删除的功能Java代码)

mybatis plus批量删除(如何实现springmvc+mybatis用多选框批量删除的功能Java代码)

大家好,关于mybatis plus批量删除很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于如何实现springmvc+mybatis用多选框批量删除的功能Java代码的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧

2025年10月26日 18:30

腾讯视频url地址怎么获取(怎么读取到腾讯视频的真实可引用地址)

腾讯视频url地址怎么获取(怎么读取到腾讯视频的真实可引用地址)

大家好,腾讯视频url地址怎么获取相信很多的网友都不是很明白,包括怎么读取到腾讯视频的真实可引用地址也是一样,不过没有关系,接下来就来为大家分享关于腾讯视频url地址怎么获取和怎么读取到腾讯视频的真实可引用地址的一些知识点,大家可以关注收藏

2026年5月20日 18:15

html语法提示库(HTML基本语法)

html语法提示库(HTML基本语法)

大家好,如果您还对html语法提示库不太了解,没有关系,今天就由本站为大家分享html语法提示库的知识,包括HTML基本语法的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录HTML基本语法有没有eclipse下编辑

2026年3月13日 18:15

oracle vm virtualbox怎么复制粘贴(如何向virtualbox虚拟机拷贝文件)

oracle vm virtualbox怎么复制粘贴(如何向virtualbox虚拟机拷贝文件)

今天给各位分享如何向virtualbox虚拟机拷贝文件的知识,其中也会对如何向virtualbox虚拟机拷贝文件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录如何向virtualbox虚拟机拷贝文件如何开启V

2026年2月15日 18:15

soaked是什么意思(soaked是什么意思)

soaked是什么意思(soaked是什么意思)

大家好,如果您还对soaked是什么意思不太了解,没有关系,今天就由本站为大家分享soaked是什么意思的知识,包括soaked是什么意思的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录soaked是什么意思soa

2025年10月17日 18:30

flash代码最少的游戏(求几款经典的flash小游戏)

flash代码最少的游戏(求几款经典的flash小游戏)

今天给各位分享求几款经典的flash小游戏的知识,其中也会对求几款经典的flash小游戏进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录求几款经典的flash小游戏谁能推荐不是FLASH画面的网页网络游戏求一个

2025年11月23日 19:45

power的用法及短语(POWER 中文是什么意思)

power的用法及短语(POWER 中文是什么意思)

本篇文章给大家谈谈power的用法及短语,以及POWER 中文是什么意思对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录POWER 中文是什么意思power的短语有哪些意思无力的英文powerpower的讲解power啥意思P

2025年7月8日 20:15

java地下城与勇士(地下城与勇士韩服手游检查非法程序oppo手机怎么设置)

java地下城与勇士(地下城与勇士韩服手游检查非法程序oppo手机怎么设置)

大家好,如果您还对java地下城与勇士不太了解,没有关系,今天就由本站为大家分享java地下城与勇士的知识,包括地下城与勇士韩服手游检查非法程序oppo手机怎么设置的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录地

2026年3月4日 11:15

中高端女包品牌有哪些牌子?十大全球品牌女包排行榜(包包牌子有哪些)

中高端女包品牌有哪些牌子?十大全球品牌女包排行榜(包包牌子有哪些)

这篇文章给大家聊聊关于女包品牌,以及中高端女包品牌有哪些牌子对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录中高端女包品牌有哪些牌子十大全球品牌女包排行榜(包包牌子有哪些)女士包包品牌有哪些品牌女包包有哪些牌子世界十大名牌女包

2025年9月11日 17:15

position: relative(div style=“position:relative“是相对谁的位置,大概怎么用,用负值会不会出错)

position: relative(div style=“position:relative“是相对谁的位置,大概怎么用,用负值会不会出错)

“position: relative”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看position: relative(div style=“position:relative“是相对谁的位置,大概怎么用,用负值会不会出

2026年2月10日 13:30

html默认占据整行(HTML 中怎样使input占据表格的整个td)

html默认占据整行(HTML 中怎样使input占据表格的整个td)

其实html默认占据整行的问题并不复杂,但是又很多的朋友都不太了解HTML 中怎样使input占据表格的整个td,因此呢,今天小编就来为大家分享html默认占据整行的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录

2026年7月15日 00:00

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索