zoukankan      html  css  js  c++  java
  • RSA密钥的生成与配置

    1.首先需要在计算机上面安装openssl

      openssl下载

    2.通过openssl工具生成RSA的公钥和私钥(opnssl工具可在互联网中下载到)

    1)生成RSA私钥(需要把解压出来的openssl文件夹放在C盘根目录)
      打开bin文件夹下面的openssl.exe,敲入
      genrsa -out D://deploy/CA/rsa_private_key.pem 1024,并回车
      得到生成成功的结果

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

    2)把RSA私钥转换成PKCS8格式

      输入命令pkcs8 -topk8 -inform PEM -in D://deploy/CA/rsa_private_key.pem -outform PEM -nocrypt -out D://deploy/CA/rsa_private_key_pkcs8.pem,并回车,生成的文件为私钥转PKCS8格式的私钥

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

    此时,我们可以在D://deploy/CA/文件夹中看到一个文件名为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放在这个文件夹中

    参考文档:http://help.alipay.com/support/help_detail.htm?help_id=253654&sh=Y&tab=null&info_type=9

  • 相关阅读:
    MSSQL大量数据时,建立索引或添加字段后保存更改超时该这么办
    POJ 3261 Milk Patterns (后缀数组)
    POJ 1743 Musical Theme (后缀数组)
    HDU 1496 Equations (HASH)
    694. Distinct Substrings (后缀数组)
    POJ 1222 EXTENDED LIGHTS OUT (枚举 或者 高斯消元)
    POJ 1681· Painter's Problem (位压缩 或 高斯消元)
    POJ 1054 The Troublesome Frog (hash散列)
    HDU 1716 排列2
    HDU 4405 Aeroplane chess (概率DP & 期望)
  • 原文地址:https://www.cnblogs.com/lvk618/p/4726086.html
Copyright © 2011-2022 走看看