szcaSDK封装了移动安全中间件对于证书的获取和数据的验签
使用此插件之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:
<feature name="szca">
<param name="license" value="cce9413b2f9f46de1a40704cff13b81e41944f8bffbd423fb3d69df77ed232cffa6ba475bea460f5d2ed23c496f42f88cd14272604637f504f6fad07eddaca751c227e916cbeaf4c603ef06041f54928b75a3262a3baa347a3cfd5615bb8222d4e059ab864709dcff926e24333bbfe7d8d7bf7a41cfac4787ba6276466fb5894c243f42c9ee4ac0eb6b619cefc95c1b07ec954668b1f121f9c37ff7e16a64867d5a77e53bc770896f467619ae54107b42e6a0c45ca9f0b95512e9f9a8764a9639bf925313d10805ac62dcd24607934ba67d76ce481d80e609e375d7fc038efeffdb7d66776f5503de1fc08534180cb6fbad9cbdbf567463e90ca58308bc8618f835eb5b59808372027088f2eb75fd285450bdb8e99c5a2aba1a672856e9648d37330a49154a0adaac9ab46bd1096a0e4e566215b15079c418854250ce9abd0ddb3ddabbb54debad96bec14e41a41dbb83e439a0a1ea58cdda945f8f155a572d986576467d72f2ada35a9debf35b442abd9b2587a0d9748bd6583f0b5d567bb0422aec5755f0642c16aa7a81cfe40095a2df6fe95c48957925727dab6dd1a3a609cc3dbb2cd79ec8b952498c6a78ce23507bd8a1707b304bb17cf723564554fe158f9bcd05a5f3097ee09708a3826aca8b24b90ef4d1730061c2a712350e265d7fde411f1f9526d6280bf5c34a8764932e59ed247fa827c029534a206905acbb7"/>
<param name="CAServerUrl" value="http://218.17.161.11:7083/wspool3/certappservlet"/>
<param name="CACertificateUrl" value="http://218.17.161.11:8083/ocsp/service/ocspCertManage?wsdl"/>
<param name="certSource" value="bss"/>
<param name="keyType" value="SM2"/>
</feature>
字段描述:
license:(必须配置)证书码。(需要应用的签名和包名)
CAServerUrl:(必须配置)证书源的通信地址。
CACertificateUrl:(必须配置)证书有效性查询地址
certSource:证书源。
keyType:(必须配置)密钥类型,“RSA”或是“SM2”
注:license,CAServerUrl和CACertificateUrl的获取可通过电话咨询韩先生:135-0152-9815
初始化
sofInitialize({params},function(ret, err))
account:
password:
##function(ret, err)
ret:
{
status: true //布尔型;true||false
msg: 返回初始化成功信息
}
err:
{
status: false
msg: 返回失败信息
}
var szcaSDK = api.require('szcaSDK');//需要先引入插件
var param = {
account: accountValue,
password: passwordValue
}
//初始化证书
szcaSDK.sofInitialize(param, function (ret, err) {
if (ret.status) {
alert(ret.msg);
} else {
alert(err.msg);
}
};
iOS系统,Android系统
可提供的1.0.0及更高版本
下载证书
sofRequestCert({params} , function (ret, err))
authCode:
ret:
{
status:true
msg: 返回证书获取成功信息
}
err:
{
status:false
msg: 返回证书获取失败信息
}
szcaSDK.sofRequestCert({
authCode:'155211949017037963'
} , function (ret, err) {
if (ret.status) {
alert(ret.msg);
} else {
alert(err.msg);
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取用户证书的序列号
sofGetCertSerialNo(function (ret, err))
##function(ret, err)
ret:
{
status:true
msg:获取序列号成功
certSerialNo:xxxxxxxxxxx
}
err:
{
status:false
msg:获取序列号失败
}
szcaSDK.sofGetCertSerialNo(function (ret, err) {
if(ret.status){
alert(ret.certSerialNo);
}else{
alert(err.msg);
}
});
Android系统
可提供的1.0.0及更高版本
获取证书
sofGetCertBase64({params},function (ret, err))
certType:
##function (ret, err)
ret:
{
status:true
msg:获取用户证书成功
certBase64:xxxxxxxxxxx
}
err:
{
status:false
msg:返回失败信息
}
szcaSDK.sofGetCertBase64(function (ret, err) {
if(ret.status){
alert(ret.certBase64);
}else{
alert(err.msg);
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
查询证书有效性
sofValidataCertificate(param, function (ret, err))
certSn:
##function(ret, err)
ret:
{
status:true
msg:证书有效
}
err:
{
status:false
msg:证书已过期
}
var param = {
certSn: certSerialNo
}
szcaSDK.sofValidataCertificate(param, function (ret, err) {
if (ret.status) {
alert(ret.msg);
} else {
alert(err.msg);
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
P1签名
sofSignDataByP1(param, function (ret, err))
srcStr:
##function (ret, err)
ret:
{
status:true
msg:返回签名成功信息
signature:xxxxxx //签名后的数据
}
err:
{
status:false
msg:返回签名失败信息
}
var param = {
srcStr: srcOriginData
}
//P1格式签名
szcaSDK.sofSignDataByP1(param, function (ret, err) {
if(ret.status){
signData = ret.signature;
alert(ret.signature);
}else{
alert(err.msg);
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
P1格式验签
sofVerifySignedDataByP1(param, function (ret, err))
signature:
srcStr
certBase64
##function(ret, err)
ret:
{
status:true
msg:返回验签成功信息
}
err:
{
status:false
msg:返回验签失败信息
}
var param = {
signature: signData,
srcStr: srcOriginData
}
//P1格式验签
szcaSDK.sofVerifySignedDataByP1(param,
function (ret, err) {
if(ret.status){
alert(ret.msg);
}else{
alert(err.msg);
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
P7签名
sofSignDataByP7Attach(param, function (ret, err))
srcStr:
detach:
##function (ret, err)
ret:
{
status:true
msg:返回签名成功信息
signature:xxxxxx //签名后的数据
}
err:
{
status:false
msg:返回签名失败信息
}
var param = {
srcStr: srcOriginData
detach:true
}
//P7格式签名
szcaSDK.sofSignDataByP7Attach(param, function (ret, err) {
if(ret.status){
signData = ret.signature;
alert(ret.signature);
}else{
alert(err.msg);
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
P7格式验签
sofVerifySignedDataByP7Attach(param, function (ret, err))
signature:
srcStr:
##function(ret, err)
ret:
{
status:true
msg:返回验签成功信息
}
err:
{
status:false
msg:返回验签失败信息
}
var param = {
signDataBase64: signData,
srcStr:'深圳CA' //iOS需要传,Android不需要
}
//P1格式验签
szcaSDK.sofVerifySignedDataByP7Attach(param,
function (ret, err) {
if(ret.status){
alert(ret.msg);
}else{
alert(err.msg);
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
生成随机数
sofGenRandom(function (ret, err))
##function (ret, err)
ret:
{
status:true
msg:返回生成随机数成功信息
random:xxxxxx
}
err:
{
status:false
msg:返回生成随机数失败信息
}
szcaSDK.sofGenRandom(
function (ret, err) {
if (ret.status) {
alert(ret.random);
} else {
alert(err.msg);
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
清空内存数据
sofWipeData()
sofWipeData();
iOS系统
可提供的1.0.0及更高版本
获取用户证书信息
sofGetCertInfo(params , function (ret, err))
certBase64:
ret:
{
status:true
msg:获取序列号成功
serialNum:xxxxxxxxxxx //证书序列号
subject:xxxxx //申请人主题
version:xxxx //版本
subjectName:xxxx //申请人名称
issure:xxxx //颁发机构主题
issureName:xxxxx //颁发机构名称
beforeTime:xxxx //有效期起始时间
afterTime:xxxx //有效期结束时间
algorithm:xxxx //证书算法
}
err:
{
status:false
msg:获取失败
}
szcaSDK.sofGetCertInfo({
certBase64: certBase64Srting
},function(ret,err) {
if (ret.status) {
alert('证书申请人主题主题:' + ret.subject + '证书序列号:' + ret.serialNum);
certSnNum = ret.serialNum;
} else {
alert(ret.msg);
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本