微信支付的API证书怎么下载?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信支付的API证书怎么下载?相关的知识,希望对你有一定的参考价值。

开通微信支付成功后,微信系统会发送4个附件到企业邮箱,其中包括(apiclient_cert.pem
apiclient_key.pem)这两个文件。但现在这两个文件找不到了,API密钥也改了,请问新的证书从哪里下载,怎么下载?

商户后台自己点击下载即可,http://kf.qq.com/faq/161222NneAJf161222U7fARv.html 参考技术A

微信支付的API证书下载方法如下:

准备材料:微信APP

1、首先打开微信界面,打开我-支付。



2、点击钱包界面。



2、在我的钱包界面中的右上角有个正方形点击它即打开支付中心界面。



3、在支付中心界面中点击支付安全,



4、切换到需要的支付安全的列表。



5、在这选择数字证书为支付保障,点击数字证书后打开数字证书界面。



6、安装此证书即点击启动按钮切换到验证的本人身份。



7、如果验证无误可弹出数字证书启动成功,随后点击我知道即可关闭。



8、返回到数字证书界面可看到当前设备已启用就说明安装证书完毕。


参考技术B

API安全证书设置

    开发所需的接口API证书、密钥,请登录微信支付商户平台,点击【账户中心】->【账户设置】->【API安全】->【下载证书】中,下载及设置;

    开通帐号和更换API证书时,可以此页下载和更改证书,该证书用来标识和界定您的身份;部分安全性要求高的API需要使用该证书来确认您的调用身份,防止因盗用给您带来的损失。

1、登录微信支付平台官网,注意:第一次登录时要安装财富通的安全插件才能输入密码!

2、点击帐户中心——操作证书——安装安全控件——安装操作证书(要验证手机号码)

3、点击帐户中心——API安全——设置API密钥——提示会影响——确认——新密钥——手机验证码——登录密码

4、很多人找不到32位密钥,这里可以用第三方软件生成! 百度:在线密码生成器——选择百度应用——随机密码生成器

注意事项:

系统建议 win7,IE版本是11版本。XP和win10都试过有报错的时候!

参考技术C

微信公众号appid、appsecret、商户号、支付API密钥、支付证书下载说明

1.微信公众号appid及appsecret生成及查看,登陆公众号后台-基本配置,公众号刚申请是需要生成或重置。

2.商户号获取及查看,微信支付需要申请通过后,才会生成商户号。查看路径为微信支付-商户信息,商户号就是图中第一个标记的数值

3.支付API密钥及支付证书设置及下载,登陆微信支付商户平台

登陆微信支付商户平台-帐户中心-api安全-安装数字证书

数字证安装成功后,继续点击api安全-下载证书

证书下载完成后,api安全中设置支付api密钥

设置api密钥,切记需要数字与字母组合,最好是混合大小写,设置完成前一定得保存好,便于使用

参考技术D 一、首先我们需要在手机中下载安装微信,这个相信有很多朋友都有安装,另外由于需要付款或者领取红包,因此我们也需要绑定银行卡。
二、要体验微信新年红包功能,我们还需要关注“新年红包”微信公众账号,关注后,即可使用该功能了,如下图所示:

关注“新年红包”微信公众账号三、关注公众账号后,我们即可使用微信新年红包功能了,这里主要分为我们为朋友或亲人发红包和领取朋友或者亲人送给自己的红包。
1、微信发红包送分为三个步骤:首先填写红包信息,如红包个数、红包金额和祝福语等;然后使用微信支付交付红包金额,此流程需要用户绑定银行储蓄卡,暂不支持信用卡;最后就可以将红包发送给指定好友群或单个好友。
红包发送出去之后,好友将会收到领取红包的信息,好友按照提升领取即可,领取成功后,还可以使用相关银行卡对此次红包里的金额进行提现。
另外微信新年红包还推出一项“拼手气群红包”功能,可以向群里好友送红包,而群友们主要靠运气,会随机收到不同金额的红包,给人一种比较神秘的感觉。

2、领取红包方面,领取红包分为“普通红包”与“拼手气群红包”两种,普通红包就是亲朋好友送给我们的红包,而拼手气群红包则属于随机性收到的红包,并且大家的金额也是随机分配的。
介绍到这里,详细大家对于微信怎么发红包与领取新年红包方法已经有所了解了吧,春节期间需要送红包的朋友,不妨试试新年的微信送红包吧,借助网银与动动拇指就搞定了。

企业支付开发基础 | 微信支付 | 支付安全(证书/秘钥/签名)

文章目录

一、微信支付

1.微信支付介绍和接入指引

微信支付商户平台:
https://pay.weixin.qq.com/

微信支付本身没有收费,但是在支付后有一点的费率,详情看:

1.1、付款码支付

用户展示微信钱包内的“付款码”给商家,商家扫描后直接完成支付,适用于线下面对面收银的场景。

1.2、JSAPI支付

线下场所:商户展示一个支付二维码,用户使用微信扫描二维码后,输入需要支付的金额,完成支
付。
公众号场景:用户在微信内进入商家公众号,打开某个页面,选择某个产品,完成支付。
PC网站场景:在网站中展示二维码,用户使用微信扫描二维码,输入需要支付的金额,完成支
付。
特点:用户在客户端输入支付金额

1.3、小程序支付

在微信小程序平台内实现支付的功能。

1.4、Native支付

Native支付是指商户展示支付二维码,用户再用微信“扫一扫”完成支付的模式。这种方式适用于PC网
站。
特点:商家预先指定支付金额

1.5、APP支付

商户通过在移动端独立的APP应用程序中集成微信支付模块,完成支付。

1.6、刷脸支付

用户在刷脸设备前通过摄像头刷脸、识别身份后进行的一种支付方式。

2.证书/秘钥/签名

2.1、获取商户号

微信商户平台:https://pay.weixin.qq.com/
场景:Native支付
步骤:提交资料 => 签署协议 => 获取商户号

2.2、获取APPID

微信公众平台:https://mp.weixin.qq.com/
步骤:注册服务号 => 服务号认证 => 获取APPID => 绑定商户号


2.3、获取API2秘钥

APIv2版本的接口需要此秘钥
步骤:登录商户平台 => 选择 账户中心 => 安全中心 => API安全 => 设置API密钥

2.4、获取APIv3秘钥

APIv3版本的接口需要此秘钥
步骤:登录商户平台 => 选择 账户中心 => 安全中心 => API安全 => 设置APIv3密钥
随机密码生成工具:https://suijimimashengcheng.bmcx.com/

2.5、申请商户API证书

APIv3版本的所有接口都需要;APIv2版本的高级接口需要(如:退款、企业红包、企业付款等)
步骤:登录商户平台 => 选择 账户中心 => 安全中心 => API安全 => 申请API证书

点击管理证书可查看证书序列号

2.6、获取微信平台证书

可以预先下载,也可以通过编程的方式获取。

二、支付安全(证书/秘钥/签名)

1、信息安全的基础 - 机密性

明文: 加密前的消息叫“明文”(plain text)
密文: 加密后的文本叫“密文”(cipher text)
密钥: 只有掌握特殊“钥匙”的人,才能对加密的文本进行解密,这里的“钥匙”就叫做“密钥”(
key)

“密钥”就是一个字符串,度量单位是“位”(bit),比如,密钥长度是 128,就是 16 字节的二
进制串

加密: 实现机密性最常用的手段是“加密”(encrypt)

按照密钥的使用方式,加密可以分为两大类:对称加密和非对称加密。

解密: 使用密钥还原明文的过程叫“解密”(decrypt)
加密算法: 加密解密的操作过程就是“加密算法”

所有的加密算法都是公开的,而算法使用的“密钥”则必须保密

  • 密钥的度量单位是位 bit,如,秘钥长度128,就是16字节的二进制串
  • 按照密钥的使用方式,加密可以分为两大类:对称加密和非对称加密

2、对称加密与非对称加密

2.1 对称加密

  • AES加密算法,密钥长度128、192或256,安全强度很高,性能很好
  • 加密分组模式:将明文分组加密,微信支付中使用 AEAD_AES_256_GCM

2.2 非对称加密

  • 使用公钥加密后只能用私钥解密,反过来,私钥加密后也只能用公钥解密
  • RSA加密算法:最著名的非对称加密算法

2.3 对称加密与非对称加密

  • 对称加密
    • 特点:只使用一个密钥,密钥必须保密,常用的有 AES算法
    • 优点:运算速度快
    • 缺点:秘钥需要信息交换的双方共享,一旦被窃取,消息会被破解,无法做到安全的密钥交
  • 非对称加密
    • 特点:使用两个密钥:公钥和私钥,公钥可以任意分发而私钥保密,常用的有 RSA
    • 优点:黑客获取公钥无法破解密文,解决了密钥交换的问题
    • 缺点:运算速度非常慢
  • 混合加密
    • 实际场景中把对称加密和非对称加密结合起来使用。

3、身份认证

Bob有两把钥匙(公钥和私钥),公钥给他的朋友们,私钥自己保留。我们规定:Bob用一把来加密数据,那么只有使用另外一把才能解密数据。

举例:Susan需要写一个信给Bob,信的内容要保密(这里使用Bob的公钥进行加密),Bob收到信以后使用自己私钥解密就可以读取信的内容。这里只要Bob的私钥不泄露信的内容就是安全的。信件即使落在别人的手里,也没办法被解密。所以在这里,任何人都可以写一封加密的信给Bob。
在这里假设:Bob收到信后也想给Sucan回一封加密的信。该怎么处理呢?
这里我们想到Susan也要拥有自己的公钥和私钥,然后将自己的公钥分发给他的朋友们。自己保留私钥。
那么,Bob可以使用Susan的公钥将加密的信件发给Susan。Susan要读取信的内容就需要用自己的私钥解密来读取信的内容。

上面举例的都是用公钥加密,私钥解密。如果我们这时将公钥和私钥的用法反过来。
就变成了私钥加密,公钥解密。
例如Bob写一封信给Sucan,他用自己的私钥对这封信进行了加密。可是因为Bob所有的朋友们都拥有他的公钥。他们都能够解密Bob的信,所以我们发现私钥加密,公钥解密。其实并不是为了加密。

Bob使用自己的私钥进行加密,Susan必须使用Bob的公钥才能对信件进行解密。因此Sucan能够确认的是这封信确实是由Bob发出的。而不是别人。因为Sucan使用的是Bob的公钥进行的解密。那么加密方一定用了Bob的私钥进行加密。我们可以确定加密人一定是Bob。
得出以下结论:

  • 公钥加密,私钥解密的作用是加密信息
  • 私钥加密,公钥解密的作用是身份认证

4、摘要算法(Digest Algorithm)


摘要算法就是我们常说的散列函数、哈希函数(Hash Function),它能够把任意长度的数据“压缩”成 固定长度、而且独一无二的“摘要”字符串,就好像是给这段数据生成了一个数字“指纹”。
作用
保证信息的完整性
特性
不可逆:只有算法,没有秘钥,只能加密,不能解密
难题友好性:想要破解,只能暴力枚举
发散性:只要对原文进行一点点改动,摘要就会发生剧烈变化
抗碰撞性:原文不同,计算后的摘要也要不同
常见摘要算法
MD5、SHA1、SHA2(SHA224、SHA256、SHA384)

5、数字签名

数字签名是使用私钥对摘要加密生成签名,需要由公钥将签名解密后进行验证,实现身份认证和不可否认
签名和验证签名的流程
举例:现在Bob给Pat写一封信,信的内容不需要加密,但是要保证Pat收到信之后。能够确认信的内容是没有被篡改过的,也就是保证信息的完整性。我们利用摘要运算,第一步Bob写完信后先用摘要算法生成信件原文的摘要(Message Digest)。第二步Bob将摘要附在信件的下面,一起发送给Pat。
Pat收到信以后之后。第一步Pat使用和Bob一样的摘要算法加密信件的原文得到信件的摘要。第二步Pat将加密后的摘要和Bob在原文中附加的摘要做一下对比。如果一直说明信件没被篡改。这种方式看似解决了数据完整性的问题。但是有一个致命的漏洞,如果信件被黑客截获,并且修改了信件的原文根据原文生成了新的摘要。然后附加在原文下面,伪装成Bob的信件发送给Pat。Pat接收到以后是完全无法察觉信件被篡改了。所以说摘要算法不具有机密性。如果明文传输,黑客可以截获后把摘要也改了。还是没有办法鉴别出信息传输的完整性。

结合前面的知识,加入秘钥确保信息的机密性。第一步,Bob写完信后先用摘要算法生成信件的摘要。第二步,Bob使用自己的私钥将摘要加密,加密后的结果我们称为数字签名。Bob将数字签名附在信的原文下面一起发给Pat。
Pat收信以后也是三个步骤,第一个步骤Pat取下数字签名。用Bob的公钥进行解密得到信件的摘要。第二个步骤Pat使用和Bob一样的加密算法加密信件的原文,得到信件的摘要。第三个步骤Pat将前面两部得到的摘要进行对比。如果一致信件就是Bob发的,并且是没有被篡改了,这个过称我们称为验签。就是验证前面的意思。

通过上面案例,我们发现即使黑客修改了信件的原文,并且通过加密算法生成新的摘要。但是因为没有Bob的私钥因此就无法对摘要进行加密。无法生成只能有Bob生成的签名。所以信就无法被篡改了。
微信支付的签名和验签就是这个原理。

6、数字证书

Doug将自己的公钥发送给Pat。并且谎称这就是Bob的公钥,实际Pat拥有的是Doug的公钥。因此Doug就可以冒充,要用自己的私钥做成数字签名写信给Pat。Pat用假的到那个公钥进行验签,验签是可以成功的。Pat只能误以为是Bob的东西,但其实Doug。
这个场景呢就相当于你误以为和微信支付的服务器进行通信。但实际上是在和黑客通讯。所以这里有一个公钥信任的问题,其实谁都可以发布公钥,所以我们还缺少一个防止黑客伪造公钥的手段。

怎么解决这个公钥就是Bob的呢,这个问题的答案就是数字证书 。一个证书包含很多的信息。
公钥: 为了防止Bob的公钥被伪造,公钥不采用直接发布的形式了。它会被放在数字证书中。如果是Bob的数字证书。Bob的公钥机会被包含在这个数字证书里面。
所有者: 这里指的是证书的申请者,一般是某个人或者是某个公司/机构,或者是某个公司的网址域名。刚刚描述的场景当中所有者就是Bob。
颁发者: 数字证书要由一个第三方的机构来颁发。这个第三方机构就是CA,也就是证书认证机构。CA具有极高的可信度,由它来给各个公钥进行签名。用自身信誉来保证公钥没有被伪造。
有效期: 证书的有效期限,过了有效期证书就不能再被使用,需要重新申请。
签名哈希算法: 其实就是摘要算法。为了防止证书被篡改,CA在颁发的时候,根据指定的摘要算法计算证书的摘要。有时候也要证书的指纹。将证书的指纹也放在证书里。指纹的目的就是保证证书的完整性、不可篡改性。
签名算法: 确保证书是由CA颁发的
序列号: 证书的唯一标识。

CA为Bob颁发数字证书的流程:首次CA用数字证书中指定的Hash算法,根据证书信息计算证书的摘要,也就是证书的指纹。然后CA根据证书当中的签名算法用CA自己的私钥将摘要进行加密,生成证书的签名。最后把签名和证书的基本信息一起发布。Bob就得到了一个数字证书。

Bob拿到数字证书以后再给Pat写信,只要在签名的同时再附上数字证书就可以了。

Pat收到信以后第一件事就是将数字证书取出来。接着对数字证书中的证书签名进行验证。流程和签名的验签流程是类似的。Pat用证书信息中指定的Hash算法根据证书信息计算整个证书的摘要。并且使用CA的公钥从数字证书的签名中解析出数字证书的摘要,将两个摘要进行比较。如果两个摘要一直就说明验签是通过的,如果验签通过了,Pat就可以在数字证书中获取Bob的公钥了。因为在数字证书中指定了证书的所有者,这样Doug就没有办法伪造数字证书了,因为他向CA申请数字证书的时候必须提供真实的身份,CA也会对身份进行核实。
经过签名的步骤,我们可以确认,Pat拿到的Bob的公钥是真实的。接下来需要使用Bob的公钥对信件的签名进行验证。跟签名一样,需要使用Hash算法计算信件的摘要,然后用刚刚从数字证书中得到的Bob的公钥对信件的签名进行解密。得到信件的摘要。接下来将两个摘要进行比较。如果一致则验签通过。
经过一些列的步骤我们可以就可以确认和Pat通讯的一定是Bob,并且消息也没有被篡改过。这时Pat就可以放心的读取信件的内容了。

数字证书解决“公钥的信任”问题,可以防止黑客伪造公钥。
不能直接分发公钥,公钥的分发必须使用数字证书,数字证书由CA颁发
https协议中的数字证书:

7、微信APIv3证书

商户证书
商户API证书是指由商户申请的,包含商户的商户号、公司名称、公钥信息的证书。
商户证书在商户后台申请:https://pay.weixin.qq.com/index.php/core/cert/api_cert#/

平台证书(微信支付平台):
微信支付平台证书是指由微信支付 负责申请的,包含微信支付平台标识、公钥信息的证书。商户可以使
用平台证书中的公钥进行验签。
平台证书的获取:https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay3_0.shtml

8、API密钥和APIv3密钥

都是对称加密需要使用的加密和解密密钥,一定要保管好,不能泄露。
API密钥对应V2版本的API
APIv3密钥对应V3版本的API

以上是关于微信支付的API证书怎么下载?的主要内容,如果未能解决你的问题,请参考以下文章

php微信支付服务商退款要下载啥证书

微信小程序商城如何接入微信支付的功能?

微信支付之退款

微信支付退款接口证书使用

微信支付退款接口证书使用

微信的jsapi支付能整合到thinkphp吗