rsa在线生成,RSA在线加密
如何创建一个自签名的SSL证书
创建自签名证书的步骤
注意:以下步骤仅用于配置内部使用或测试需要的SSL证书。
第1步:生成私钥使用openssl工具生成一个RSA私钥
$ openssl genrsa -des3 -out server.key 2048
说明:生成rsa私钥,des3算法,2048位强度,server.key是秘钥文件名。
注意:生成私钥,需要提供一个至少4位的密码。
第2步:生成CSR(证书签名请求)生成私钥之后,便可以创建csr文件了。
此时可以有两种选择。理想情况下,可以将证书发送给证书颁发机构(CA),CA验证过请求者的身份之后,会出具签名证书(很贵)。另外,如果只是内部或者测试需求,也可以使用OpenSSL实现自签名,具体操作如下:
$ openssl req -new -key server.key -out server.csr
说明:需要依次输入国家,地区,城市,组织,组织单位,Common Name和Email。其中Common Name,可以写自己的名字或者域名,如果要支持https,Common Name应该与域名保持一致,否则会引起浏览器警告。
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Beijing
Locality Name (eg, city) []:Beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:joyios
Organizational Unit Name (eg, section) []:info technology
Common Name (e.g. server FQDN or YOUR name) []:demo.joyios.com
Email Address []:liufan@joyios.com
第3步:删除私钥中的密码在第1步创建私钥的过程中,由于必须要指定一个密码。而这个密码会带来一个副作用,那就是在每次Apache启动Web服务器时,都会要求输入密码,这显然非常不方便。要删除私钥中的密码,操作如下:
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
第4步:生成自签名证书如果你不想花钱让CA签名,或者只是测试SSL的具体实现。那么,现在便可以着手生成一个自签名的证书了。
$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
说明:crt上有证书持有人的信息,持有人的公钥,以及签署者的签名等信息。当用户安装了证书之后,便意味着信任了这份证书,同时拥有了其中的公钥。证书上会说明用途,例如服务器认证,客户端认证,或者签署其他证书。当系统收到一份新的证书的时候,证书会说明,是由谁签署的。如果这个签署者确实可以签署其他证书,并且收到证书上的签名和签署者的公钥可以对上的时候,系统就自动信任新的证书。
第5步:安装私钥和证书将私钥和证书文件复制到Apache的配置目录下即可,在Mac 10.10系统中,复制到/etc/apache2/目录中即可。
需要注意的是,在使用自签名证书时,浏览器会提示证书不受信任,如果你是对外网站使用,建议还是去CA机构申请可信的SSL证书,现在证书也很便宜,沃通CA超快SSL Pre才488元/年。
jsencrypt实现前端RSA非对称加密解密(vue项目)
最近一个vue项目要求所有密码数据需要使用RSA非对称加密传输,以为挺简单,结果开发过程中还是遇到了些问题,简单做个笔记。同时也希望可以帮助到遇到同样问题的道友门。
重点来了:使用jsencrypt实现RSA非对称加解密
因为这里直接在前端加解密,所以需要一对现成的密钥,我们通过 密钥在线生成器 得到:
然后在需要使用的文件中引入JSEncrypt,我是将所有工具函数都封装在一个js文件的,我就直接在该文件中引入,我看也有人是在main.js中引入的。
到这里我们的加密解密方法就完成了,在需要的地方直接拿过来用就好了!
大功告成!这样就完了?我以为这样就ok了。
当然,如果没有遇到这个bug,就可以忽略下面的内容了。
从上面截图可以看到,重启项目的时候报错: navigator is not defined
而且这个bug有点奇葩,先启动项目再引入jsencrypt就什么问题都没有,但是先引入jsencrypt再启动项目就报错。这也是我前面能顺利执行的原因所在。
通过好一通折腾,用了网上的各种方法,比如在main.js引入jsencrypt、引入jsdom之类的,都没能解决这个问题,最终还是在jsencrypt的git相关 issue 下找到了这个问题的解决方案。
到这里问题就算基本解决了,但是由于项目组不止我一个前端,我不能要求每个同事或者以后接手维护项目的同事都要在node_modules中去替换文件。
所以就采用了另外一种方案:将jsencrypt.js通过在线js压缩器压缩至jsencrypt.min.js中,然后把jsencrypt.min.js放到src/assets/jsencrypt文件夹中,就不用npm install的方式了。
换了种方式,jsencrypt的引用方式需要做出相应的调整:
参考链接: RSA非对称加密传输---前端加密解密(VUE项目)
PS:才疏学浅,如果有考虑不周之处或者有更好的解决方案,欢迎指正探讨!
https证书生成方法,怎么生成https证书
https证书(也称为ssl证书)是需要去正规的CA机构进行申请的,步骤如下:
第一步:将CSR提交到代理商
CSR(Certificate Signing Request)文件必须由用户自己生成,也可以利用在线CSR生成工具。选择要申请的产品,提交一个新的订单,并将制作好的CSR文件提交。
第二步 资料提交到CA
当收到您的订单和CSR后,如果是域名验证型证书(DV SSL证书),在域名验证之后10分钟左右就可颁发证书,若是其他类型证书则是需要通过CA机构进行验证之后才可颁发。
第三步 发送验证邮件到管理员邮箱
权威CA机构获得资料后,将发送一封确认信到管理员邮箱,信中将包含一个 对应的链接过去。每一个订单,都有一个唯一的PIN以做验证用。
第四步 邮件验证
点击确认信中的链接,可以访问到CA机构验证网站,在验证网站,可以看到该订单的申请资料,然后点击”I Approve”完成邮件验证。
第五步 颁发证书
在用户完成邮件验证之后,CA机构会将证书通过邮件方式发送到申请人自己的邮箱,当用户收到证书后直接安装就可以了。若安装存在问题,我们是提供免费证书安装服务的。
支付宝当面付怎么对接易支付
前往支付宝商家中心(点我跳转),进去先登录,点产品中心,当面付,然后立即开通:
?
支付宝当面付对接教程 图片1
2.然后按要求的填写即可,非*号不用填写,也就是营业执照免填写,店铺照片你懂得:
?
支付宝当面付对接教程 图片2
?
支付宝当面付对接教程 图片3
3.随后审核几分钟就会通过,我们随后去获取公钥私钥和id。
4.先在同一个网站找到当面付,并点接入:
?
支付宝当面付对接教程 图片4
?
支付宝当面付对接教程 图片5
5.然后进入控制中心,点击网站移动应用:
?
支付宝当面付对接教程 图片6
6.点击这个应用,按下图操作:
?
支付宝当面付对接教程 图片7
7.下载后,按下图操作:
?
8.然后复制公钥到网站加签,保存后复制支付宝公钥(注意不是应用公钥):
?
9.然后去网站填写数据,这里以南风云分销后台设置为例:
?
10.随后支付测试即可!
RSA公钥私钥生成pem文件
对接第三方接口时,对方有时只给了公钥私钥,这就需要自己来生成pem文件,
OpenSSL在线生成RSA 公私钥,同时把私钥在线生成合成PEM文件,公钥直接放到txt,改后缀为.pem,
对于公钥,新建txt,将公钥内容保存成.pem后缀即可
1、网址:
选择pem在线合成,将私钥复制过去,注意格式,到处pem文件即可
2、私钥格式
-----BEGIN RSA PRIVATE KEY-----
中间填写私钥
-----END RSA PRIVATE KEY-----
3、公钥格式
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCFSwKKJQ2hO5uaDAdWayCx5DFzBeqpgvCPxQno8+IcAXI+fR9627XMnARJhMTiUxsHsRZDYEWpIajPt7j91cm1rtRgWDZqlc4IFiis04bpfVTxN/jkzJcXhuB+t0bAjtf/ydDKFGr1zDJC97cZGQTuRLU6npNfNnnjzlfHwt2caQIDAQAB
-----END PUBLIC KEY-----
4、生成公钥私钥的网站