免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: jasonnbfan
打印 上一主题 下一主题

请教使用OpenSSL读写X509数字证书,有代码 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-12-15 15:50 |只看该作者
char * 类型字符串正好以 '\0' 结尾,00以后的都截去了.......?

论坛徽章:
0
12 [报告]
发表于 2007-12-15 15:51 |只看该作者
既然不可避免有零字节,那为什么用 sprintf()?

论坛徽章:
0
13 [报告]
发表于 2007-12-15 15:56 |只看该作者
有关这个,还是先看看 apps/x509.c 比较合适。
openssl x509 命令有一个参数 -pubkey,该参数的实现就在 apps/x509.c 里面。

论坛徽章:
0
14 [报告]
发表于 2007-12-15 15:56 |只看该作者
按道理来说 X509_get0_pubkey_bitstr()函数本身就该考虑到这个,你的库你的函数,标准的,怎么连这点都没考虑到?不应该。

我也刚发现上面的不同。

论坛徽章:
0
15 [报告]
发表于 2007-12-15 16:07 |只看该作者
原帖由 jasonnbfan 于 2007-12-15 15:56 发表
按道理来说 X509_get0_pubkey_bitstr()函数本身就该考虑到这个,你的库你的函数,标准的,怎么连这点都没考虑到?不应该。

我也刚发现上面的不同。


              sprintf(buffer,pubkey-> data);                 


改 memcpy() 是否仍然有问题?

论坛徽章:
0
16 [报告]
发表于 2007-12-15 16:22 |只看该作者
memcpy(buffer,pubkey->data,pubkey->length); 可以完整的得到。

论坛徽章:
0
17 [报告]
发表于 2007-12-15 17:13 |只看该作者
公钥本来就是二进制的,有0很正常,我在前面说的sprintf的意思是让你把得到的证书公钥的每个字节循环打印出来,楼主没分清ascii和二进制

论坛徽章:
0
18 [报告]
发表于 2007-12-15 17:16 |只看该作者
实际上打印否这个和得到publickey没什么直接关系。
拿出来用base64编码得到的结果还是和openssl命令行结果不一样。

论坛徽章:
0
19 [报告]
发表于 2007-12-15 18:01 |只看该作者
这个...
我靠,居然有sprintf(buffer,pubkey->data)这种用法~
data用来做格式字符串?不怕被攻击?有点小无语...

论坛徽章:
0
20 [报告]
发表于 2007-12-16 10:08 |只看该作者
什么意思?请楼上解释解释?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP