zoukankan      html  css  js  c++  java
  • Windows下openssl安装及使用

    配置过程中需要生成一些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目录运行msdo_ms

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

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

    :msdo_nasm(需要自己下载)

     

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

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

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

     

     

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

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

     

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

     

    5/

    • > nmake -f ms tdll.mak test
    • > nmake -f ms tdll.mak install

    这样会在C盘根目录 生成  C:usrlocalsslin   

    将C:usrlocalsslin   添加到环境变量,可以使用openssl了

    打开bin文件夹下面的openssl.exe,打开生成命令.txt文件,输入“生成命令.txt”文件中
    genrsa -out rsa_private_key.pem 1024,并回车
    得到生成成功的结果,如下图:


    此时,我们可以在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格式的私钥,如下图:


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

    3)生成公钥
    输入命令rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem,并回车,
    得到生成成功的结果,如下图:


    此时,我们可以在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安装目录下(phpext)中没有php_openssl.dll

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

  • 相关阅读:
    css 基线与行高
    requests超时
    小记--------Ambari2.7.4集成Kylin3.0
    记一次--------HDP3.1 spark创建表hive读不到,hive创建表spark读不到
    记一次-------- sqoop同步mysql到hive 执行太慢
    记一次--------hive创建表comment中文乱码解决
    .Net Core学习之路-跳坑(一)
    NGINX、HAProxy和Traefik负载均衡能力对比
    idea 一键启动多个微服务项目
    vuedraggable自由拖拽
  • 原文地址:https://www.cnblogs.com/alanjl/p/5481475.html
Copyright © 2011-2022 走看看