Windows下openssl安装及使用「建议收藏」

配置过程中需要生成一些mak文件,这些生成代码用perl脚本生成,所以要安装一个ActivePerl.网址:http://www.activestate.com/activeperl/下载后直接安装就行了!下载openssl网址http://www.openssl.org/我用的是openssl-0.9.8g版本,解压到c盘根目录。安装步骤:(可以参照o…

大家好,又见面了,我是你们的朋友全栈君。

配置过程中需要生成一些mak文件,这些生成代码用perl脚本生成,所以要安装一个ActivePerl.

 

网址: http://www.activestate.com/activeperl/

下载后直接安装就行了!

下载openssl

网址 http://www.openssl.org/

我用的是openssl-0.9.8g版本,解压到c盘根目录。

 

安装步骤:

(可以参照openssl目录下的install.win32)

1打开命令行

进入openssl源码目录。
cd c:/openssl-0.9.8.g
执行perl Configure VC-WIN32

 

2在c:/openssl-0.9.8.g目录运行ms\do_ms

另外两种方式如果使用也必须保证本机有编译器才能使用。

:ms\do_masm(默认vc自带的编译器;也也以自己下载安装)

:ms\do_nasm(需要自己下载)

 

3 注册nmake命令,电脑上需要安装vc++6.0或者vs2010  之类的东西,

 DOS窗口转到C:\Program Files\Microsoft Visual Studio \VC98\bin目录(就是VC或VS对应的目录,你电脑可能有差异)

执行vcvars32.bat以配置环境变量.  这样就可以再dos中使用nmake命令了!

 

 

4、跳到openssl目录下,编译动态链接库

cd c:/openssl-0.9.8.g
执行 >nmake -f ms\ntdll.mak

 

如果编译成功,输出在out32dll目录下:包括可执行文件、两个dll和两个lib文件: libeay32.dll, libeay32.lib, ssleay32.dll,ssleay32.lib

 

5/

  • > nmake -f ms\ntdll.mak test
  • > nmake -f ms\ntdll.mak install

这样会在C盘根目录 生成  C:\usr\local\ssl\bin   

将C:\usr\local\ssl\bin   添加到环境变量,可以使用openssl了

 

打开bin文件夹下面的openssl.exe,打开生成命令.txt文件,输入“生成命令.txt”文件中
genrsa -out rsa_private_key.pem 1024,并回车
得到生成成功的结果,如下图:
Windows下openssl安装及使用「建议收藏」

此时,我们可以在bin文件夹中看到一个文件名为rsa_private_key.pem的文件,用记事本方式打开它,可以看到—–BEGIN RSA PRIVATE KEY—–开头,—–END RSA PRIVATE KEY—–结尾的没有换行的字符串,这个就是原始的私钥。

2)把RSA私钥转换成PKCS8格式
输入命令pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt,并回车
得到生成功的结果,这个结果就是PKCS8格式的私钥,如下图:
Windows下openssl安装及使用「建议收藏」

右键点击openssl窗口上边边缘,选择编辑→标记,选中要复制的文字(如上图),
此时继续右键点击openssl窗口上边边缘,选择编辑→复制,
把复制的内容粘土进一个新的记事本中,可随便命名,只要知道这个是PKCS8格式的私钥即可。

3)生成公钥
输入命令rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem,并回车,
得到生成成功的结果,如下图:
Windows下openssl安装及使用「建议收藏」

此时,我们可以在bin文件夹中看到一个文件名为rsa_public_key.pem的文件,用记事本方式打开它,可以看到—–BEGIN PUBLIC KEY—–开头,
—–END PUBLIC KEY—–结尾的没有换行的字符串,这个就是公钥。

把rsa公钥和私钥配置到接口中
1) 整理公钥和私钥的格式
a) Java与。Net开发语言
◆商户的私钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、去掉“—–BEGIN RSA PRIVATE KEY—–”、“—–END RSA PRIVATE KEY—–”,只保存这两条文字之中的部分
◆商户的公钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、去掉“—–BEGIN PUBLIC KEY—–”、“—–END PUBLIC KEY—–”,只保存这两条文字之中的部分
3、保存到一个临时的记事本中,再打开b.alipay.com,并用要绑定密钥的支付宝账号登录,找到“获取PID、KEY”的按钮
4、根据http://help.alipay.com/support/help_detail.htm?help_id=243726&sh=Y&tab=null&info_type=9里的步骤上传RSA公钥,即刚才保存在临时记事本中的那串字符串。

◆支付宝公钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、去掉“—–BEGIN PUBLIC KEY—–”、“—–END PUBLIC KEY—–”,只保存这两条文字之中的部分
a) Php开发语言
◆商户的私钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、不需要对刚生成的(原始的)私钥做pkcs8编码,即不需要使用到PKCS8格式的私钥
3、不需要去掉去掉“—–BEGIN PUBLIC KEY—–”、“—–END PUBLIC KEY—–”
简言之,只要维持刚生成出来的私钥的内容即可。
◆商户的公钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、去掉“—–BEGIN PUBLIC KEY—–”、“—–END PUBLIC KEY—–”,只保存这两条文字之中的部分
3、保存到一个临时的记事本中,再打开b.alipay.com,并用要绑定密钥的支付宝账号登录,找到“获取PID、KEY”的按钮
4、根据http://help.alipay.com/support/help_detail.htm?help_id=243726&sh=Y&tab=null&info_type=9里的步骤上传RSA公钥,即刚才保存在临时记事本中的那串字符串。
◆支付宝公钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、须保留“—–BEGIN PUBLIC KEY—–”、“—–END PUBLIC KEY—–”这两条文字。
简言之,支付宝公钥只需要维持原样即可。
2) 把公钥上传给支付宝
操作流程见:http://help.alipay.com/support/help_detail.htm?help_id=243726&sh=Y&tab=null&info_type=9
3) 从支付宝那获得支付宝公钥
此处公钥由技术支持提供,请找技术支持索要支付宝公钥文件。
4) 把私钥、支付宝公钥配置到支付宝接口中
a) Java与。Net开发语言
打开代码示例中config配置文件,分别在参数private_key、public_key中填写好商户的私钥、支付宝的公钥即可
b) Php开发语言
打开代码实例中的key文件夹,
方法一:
分别打开rsa_private_key.pem私钥文件、alipay_public_key.pem支付宝公钥文件,按照“()”注释内容填写并保存
方法二:
按照1)b)整理后的私钥文件和公钥文件重新命名为“rsa_private_key.pem”、“alipay_public_key.pem”,直接覆盖key文件夹中的这两个文件即可。

PHP的RSA配置常见问题:
●PHP开发语言的代码示例中openssl文件夹中的3个DLL文件用法

1、如果你的系统是windows系统,且system32文件目录下没有libeay32.dll、ssleay32.dll这两个文件
那么需要拷贝这两个文件到system32文件目录。

2、如果您的php安装目录下(php\ext)中没有php_openssl.dll

那么请把php_openssl.dll放在这个文件夹中

转载于:https://www.cnblogs.com/alanjl/p/5481475.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128407.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2014手机号码归属地数据库

    2014手机号码归属地数据库2014手机号码归属地数据库2014年最新版《手机号码归属地数据库》(更新时间:2014年4月6日),总共1万条记录。数据字段:-号码段(即。号码前7位)-省-市-供应商(含,通信协议)演示样例数据:”1300000″,”北京”,”北京”,”中国联通(GSM)””1…

    2022年7月22日
    17
  • LayUI树形表格treetable使用详解[通俗易懂]

    LayUI树形表格treetable使用详解[通俗易懂]LayUI是现在比较流行的一款前端框架,也有很多人基于LayUI开发了很多不错的组件,比如treetable树形表格。因为treetable是第三方基于LayUI开发的,所以需要先用Layui引入一下文件。layui.config({base:’static/layui/’}).extend({treetable:’treetable-lay/treetab…

    2022年6月13日
    303
  • 推荐一个命名变量的神奇网站 CODELF

    推荐一个命名变量的神奇网站 CODELF推荐一个命名变量的神奇网站CODELF在我们写程序的时候,总是需要去给各种变量命名。于是各种命名大法都上来了,有拼音的,有首字母缩写的,各种各样。而我们推荐的命名肯定是英文的驼峰命名。今天给大家推荐一个网站:https://unbug.github.io/codelf/这个网站可以根据你输入的关键词,给出很多变量命名的推荐。并且支持中文。另外,针对各种主流编辑器,还有插件。非常推荐大家收藏一下这个

    2022年5月4日
    228
  • 儿童节快乐,2018过的真快

    我们也曾是儿童,也过过儿童节!儿童节,现在回想起来怎么都没有任何印象!儿童节让我想到了自己的小时候,自己的小学,三年级前上学的地方还离家很近,之后到了另一个地方上学,每天早上要很早起床,尤其是冬天的时候天还没有亮(北方的那个冬天的早上,真是冷啊,记得最冷的时候早上去上学的路上,冷的不行了,先打一堆火,烤一会再走),小时候早上上学的时候,妈妈就很早起床给我做早饭了,我吃过早饭然后去上…

    2022年2月27日
    50
  • php随机数生成漏洞函数,php随机数生成函数[通俗易懂]

    php随机数生成漏洞函数,php随机数生成函数[通俗易懂]functionrandpw($len=8,$format=’ALL’){$is_abc=$is_numer=0;$password=$tmp=”;switch($format){case’ALL’:$chars=’ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789′;break;case’CHAR’:…

    2025年6月10日
    3
  • ym——Android从零开始(9)(ContentProvider内容提供者)(新)

    ym——Android从零开始(9)(ContentProvider内容提供者)(新)ContentProvider内容提供者ContentProvider 进程间通讯,进程间数据的访问/对外共享数据用优点:提供了统一的访问方式原理分析图实现抽象类ContentProvider  安卓应用实现抽象类ContentProvider,并实现对本地数据库增删查改的四个方法,且在清单文件注册该ContentProvid

    2022年6月22日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号