PaymentSystem.Api
版本号
编码方式
签名方法 SM2
招商银行商户号
招商银行收银员
header中的APPID
用于生成header中的APISign
国密标准公钥头(固定值)
国密局推荐 ID(固定值)
国密私钥
国密公钥 base64
通知地址
收款码申请
支付结果查询
发起退款申请
退款申请查询
支付宝native支付
收款码申请
支付结果查询
发起退款申请,需要检查退款币种是否和支付币种一致
退款结果查询
创建支付宝收款申请
返回网络时间 --北京时间
调用此函数后使此两种图片合并,类似相册,有个
背景图,中间贴自己的目标图片
粘贴的源图片
粘贴的目标图片
Resize图片
原始Bitmap
新的宽度
新的高度
保留着,暂时未用
处理以后的图片
need lib:
BouncyCastle.Crypto.dll(http://www.bouncycastle.org/csharp/index.html)(这段代码写的时候用的bccrypto-csharp-1.8.8,最低支持版本和最高支持版本自己研究)
log4net.dll(http://logging.apache.org/log4net/)(仅为了输出日志用,不用的话可自行改换其他方式输出异常信息)
ref:
https://tools.ietf.org/html/draft-shen-sm2-ecdsa-02
http://gmssl.org/docs/oid.html
http://www.jonllen.com/jonllen/work/164.aspx
用BC的注意点:
这个版本的BC对SM3withSM2的结果为asn1格式的r和s,如果需要直接拼接的r||s需要自己转换。下面rsAsn1ToPlainByteArray、rsPlainByteArrayToAsn1就在干这事。
这个版本的BC对SM2的结果为C1||C2||C3,据说为旧标准,新标准为C1||C3||C2,用新标准的需要自己转换。下面(被注释掉的)changeC1C2C3ToC1C3C2、changeC1C3C2ToC1C2C3就在干这事。java版的高版本有加上C1C3C2,csharp版没准以后也会加,但目前还没有,java版的目前可以初始化时“ SM2Engine sm2Engine = new SM2Engine(SM2Engine.Mode.C1C3C2);”。
@param msg
@param userId
@param privateKey
@return r||s,直接拼接byte数组的rs
将BC SM2 RAW签名值转化为ASN1格式签名值
@param bcCipTxt
@return
@throws Exception
将ASN1格式签名值转化为BC SM2 RAW 签名值
@param signature Asn1格式签名值
@return byte[] Raw签名值
@param msg
@param userId
@param privateKey
@return rs in asn1 format
@param msg
@param userId
@param rs r||s,直接拼接byte数组的rs
@param publicKey
@return
@param msg
@param userId
@param rs in asn1 format
@param publicKey
@return
bc加解密使用旧标c1||c2||c3,此方法在加密后调用,将结果转化为c1||c3||c2
@param c1c2c3
@return
bc加解密使用旧标c1||c3||c2,此方法在解密前调用,将密文转化为c1||c2||c3再去解密
@param c1c3c2
@return
c1||c3||c2
@param data
@param key
@return
c1||c3||c2
@param data
@param key
@return
c1||c2||c3
@param data
@param key
@return
c1||c2||c3
@param data
@param key
@return
@param bytes
@return
BC的SM3withSM2签名得到的结果的rs是asn1格式的,这个方法转化成直接拼接r||s
@param rsDer rs in asn1 format
@return sign result in plain byte array
BC的SM3withSM2验签需要的rs是asn1格式的,这个方法将直接拼接r||s的字节数组转化成asn1格式
@param sign in plain byte array
@return rs result in asn1 format
字节数组拼接
@param params
@return
密钥派生函数
@param Z
@param klen
生成klen字节数长度的密钥
@return
cfca官网CSP沙箱导出的sm2文件
@param pem 二进制原文
@param pwd 密码
@return
@param cert
@return
BASE64格式公钥转换为裸公钥
@param sm2Key
@return
加签
验签
鉴权相关
用户登录
控制器基类
CHATGPT
招商银行支付申请
创建招行支付申请
保存订单数据_招行通用
招行支付结果查询(只有15天内数据)
业务单号
招行交易单号
招行退款申请,测试环境下隔日无法退款
业务单号
招行交易单号
招行退款结果查询(30秒查询一次)
业务单号
招行交易单号
通知地址
支付调用
创建支付申请
保存订单数据_招行通用
虚拟扣款
虚拟账户预存