admin 管理员组文章数量: 1184232
2024年2月28日发(作者:colspan在html中的全称)
BJCASecXCOM接口说明
BJCASecX客户端控件
BJCASecXCOM接口说明
(中国移动版)
北京数字证书认证中心
2008年9月
第 1 页 共 9 页
BJCASecXCOM接口说明
版权信息
BJCA 是北京数字证书认证中心有限公司的商标和缩写。
本文的版权属于北京数字证书认证中心有限公司,未经许可,任何个人和团体不得转载、粘贴或发布本文,也不得部分的转载、粘贴或发布本文,更不得更改本文的部分词汇进行转贴。
未经许可不得拷贝,影印。
Copyright @2007 北京数字证书认证中心有限公司
第 2 页 共 9 页
BJCASecXCOM接口说明
目 录
版权信息........................................................................................................................................... 2
目 录 .............................................................................................................................................. 3
1 技术指标 ................................................................................................................................... 4
2 接口说明 ................................................................................................................................... 4
2.1 证书接口 ................................................................................................................... 4
2.1.1 导入证书 ........................................................................................................... 4
2.1.2 导出证书 ........................................................................................................... 4
2.1.3 检查证书剩余有效期 ....................................................................................... 5
2.1.4 根据证书OID获取证书基本信息 .................................................................. 5
2.1.5 根据证书OID获取证书扩展信息 .................................................................. 5
2.2 密码服务接口 ........................................................................................................... 5
2.2.1 设置用户个人信息 ........................................................................................... 5
2.2.2 数字签名 ........................................................................................................... 6
2.2.3 验证数字签名 ................................................................................................... 6
2.2.4 对称算法加密 ................................................................................................... 6
2.2.5 对称算法解密 ................................................................................................... 6
2.2.6 PKCS#1公钥加密 ............................................................................................ 6
2.2.7 PKCS#1私钥解密priKeyDecrypt ................................................................... 7
2.3 工具接口 ................................................................................................................... 7
2.3.1 获取已安装证书列表 ....................................................................................... 7
2.3.2 根据用户容器名取得用户环境信息 ............................................................... 7
3 错误代码与宏定义 ................................................................................................................... 7
第 3 页 共 9 页
BJCASecXCOM接口说明
1 技术指标
支持的加密库:
1) Microsoft CSP
2) PKCS 11
3) 标准软算法实现
支持的证书类型:
1) X509证书
2) PFX证书
3) P7证书链
支持的标准格式:
1) RFC2459
2) PKCS#1、PKCS#5、PKCS#7、PKCS#10、PKCS#11、PKCS#12
2 接口说明
2.1 证书接口
2.1.1 导入证书
原型: importCert(BSTR sCertSrc, short SrcType, BSTR sExt)
功能: 导入证书到组件
参数: BSTR sCertSrc 证书来源(证书编码字符串、证书路径、智能卡)
short SrcType 证书来源类型(详细见宏定义)
BSTR(可选) sExt 证书来源附加信息P12证书口令或智能卡
CSP名
返回: SECCOM_SUCCESS 成功
SECCOM_FAIL 失败
2.1.2 导出证书
原型: BSTR exportCert(short DstType, BSTR sCertPath)
功能: 从组件中导出证书
参数: short DstType 证书目标类型(证书编码字符串、DER证书文件)
BSTR(可选) sCertPath DER证书的路径
返回: BSTR ret 导出的证书内容
第 4 页 共 9 页
BJCASecXCOM接口说明
2.1.3 检查证书剩余有效期
原型: short checkValidaty(BSTR sDate)
功能: 检查证书剩余有效期
参数: BSTR(可选) sDate 需检查的目标日期,格式YYYY/MM/DD,默认为 当前日期
返回: short ret 剩余天数
2.1.4 根据证书OID获取证书基本信息
原型: BSTR getBasicCertInfoByOID(short OID)
功能: 根据证书OID编号取得证书基本信息
参数: short OID 证书OID编号(详见宏定义)
返回: BSTR ret OID对应的值
2.1.5 根据证书OID获取证书扩展信息
原型: BSTR getExtCertInfoByOID(BSTR sOID)
功能: 根据证书OID编号取得证书扩展信息
参数: BSTR sOID 证书OID字符编码
返回: BSTR ret OID对应的值
2.2 密码服务接口
2.2.1 设置用户个人信息
原型: setUserCfg(short CfgFlg,BSTR sCfgValue,BSTR sExt1CfgValue,BSTR sExt2CfgValue)
功能: 设置用户个人信息
参数: short CfgFlag 设置用户使用类型(1:CSP,2:P11,3:软算法, 0:未设置状态)
BSTR sCfgValue 用户信息参数一(CSP:CSP名称,P11:P11库
名,软算法:P12文件路径)
BSTR sExt1CfgValue 用户信息参数二(CSP:CSP扩展库名,软算法: P12文件加密口令)
BSTR sExt2CfgValue 用户信息参数三(CSP:智能卡Pin口令)
返回: ECCOM_SUCCESS 成功
SECCOM_FAIL 失败
第 5 页 共 9 页
BJCASecXCOM接口说明
2.2.2 数字签名
原型: BSTR signedData(BSTR sInData, BSTR sContainnerName)
功能: 数字签名
参数: BSTR sInData 签名原文
BSTR(可选) sContainnerName CSP容器名
返回: BSTR ret 签名结果
2.2.3 验证数字签名
原型: verifySignedDat(BSTR sInData, BSTR sCert, BSTR sOriData)
功能: 验证数字签名
参数: BSTR sInData 签名结果
BSTR sCert 签名证书
BSTR sOriData 签名原文
返回: ECCOM_SUCCESS 成功
SECCOM_FAIL 失败
2.2.4 对称算法加密
原型: BSTR encryptData(BSTR skey, BSTR inData)
功能: 对称算法加密
参数: BSTR skey 对称算法密钥
BSTR inData 待加密的数据
返回: BSTR ret 密文(Base64编码后的)
2.2.5 对称算法解密
原型: BSTR decryptData(BSTR skey, BSTR inData)
功能: 对称算法解密
参数: BSTR skey 对称算法密钥
BSTR inData 待解密的数据
返回: BSTR ret 明文
2.2.6 PKCS#1公钥加密
原型: BSTR pubKeyEncrypt(BSTR Cert, BSTR inData)
功能: pkcs1公钥加密
参数: BSTR Cert 加密证书
BSTR inData 待加密的数据
返回: BSTR ret 密文(base64编码后的)
第 6 页 共 9 页
BJCASecXCOM接口说明
2.2.7 PKCS#1私钥解密priKeyDecrypt
原型: BSTR priKeyDecrypt(BSTR sContainerName, BSTR inData)
功能: pkcs1私钥解密
参数: BSTR sContainerName 私钥容器
BSTR inData 待解密的数据
返回: BSTR ret 明文
2.3 工具接口
2.3.1 获取已安装证书列表
原型: BSTR getUserList()
功能: 取得当前已安装证书的用户列表
参数: 无
返回: BSTR ret 用户列表字符串,格式:(用户名1||容器名1&&&用户 名2||容器名2&&&…)
2.3.2 根据用户容器名取得用户环境信息
原型: BSTR getUserInfoByContainer(BSTR sContainerName, short TypeID)
功能: 根据用户容器名取得用户环境信息
参数: BSTR sContainerName 容器名、介质类型、CA类型
short TypeID 用户环境代码(详见宏定义)
返回: BSTR ret 返回代码标识的数据
3 错误代码与宏定义
#define CERT_SRC_BASE64
#define CERT_SRC_UNIQUEID
#define CERT_SRC_FILE
#define CERT_SRC_CONTAINER_UCA
#define CERT_SRC_CONTAINER_SIGN
#define CERT_SRC_CONTAINER_ENC
#define CERT_SRC_CONTAINER_BOTH
#define CERT_SRC_PKCS12
#define CERT_DST_BASE64
#define CERT_DST_DERFILE
1
2
3
4
5
6
7
8
1
2
//证书来自Base64字符串
//证书来自唯一表示
//证书来自der文件
//证书来自UCA类型证书容器
//证书来自容器下签名证书
//证书来自容器下加密证书
//证书来自容器下签名加密证书
//证书来自PKCS12文件
//导出证书为Base64字符串
//导出证书为der文件
第 7 页 共 9 页
#define CERT_DST_P12
#define CERT_XML_SUBJECT
#define CERT_XML_UNIQUEID
#define CERT_XML_DEPT
#define CERT_XML_ISSUE
#define CERT_XML_STATE
#define CERT_XML_TRADETYPE
#define CERT_XML_PASSWORD
#define CERT_XML_DEVICETYPE
#define CERT_XML_CATYPE
#define CERT_XML_KEYTYPE
#define CERT_XML_SIGNSN
#define CERT_XML_EXCHSN
#define CERT_XML_DEVICENAME
#define CERT_XML_DEVICEPROVIDER
#define CERT_XML_DEVICEAFFIX
#define CERT_XML_SIGNPATH
#define CERT_XML_EXCHPATH
#define CERT_XML_SIGNPFXPATH
#define CERT_XML_EXCHPFXPATH
#define CERT_XML_CHAINPATH
#define CERT_XML_CRLPATH
#define CRYPT_CFGTYPE_UNSET
#define CRYPT_CFGTYPE_CSP
#define CRYPT_CFGTYPE_P11
#define CRYPT_CFGTYPE_P12
#define ENVELOP_ENC
#define ENVELOP_DEC
#define CRYPT_ALG_HASH
#define CRYPT_ALG_SYMM
#define CRYPT_ALG_MODE
///证书基本信息项 OID////////////////////////////////
#define CERT_OID_VERSION
#define CERT_OID_SN
#define CERT_OID_SIGNALG
#define CERT_OID_ISSUERNAME
#define CERT_OID_NOTBEFORE
#define CERT_OID_NOTAFTER
BJCASecXCOM接口说明
3 //到出证书为PKCS12文件
1 //从XML配置文件取用户名
2 //从XML配置文件取用户唯一表识
3 //从XML配置文件取用户所有者部门
4 //从XML配置文件取用户证书颁发者
5 //从XML配置文件取用户证书使用状态
6 //从XML配置文件取用户证书应用类型
7 //从XML配置文件取用户私钥保护口令
8 //从XML配置文件取用户证书介质类型
9 //从XML配置文件取用户证书CA类型
10 //从XML配置文件取用户证书密钥类型
11 //从XML配置文件取签名证书序列号
12 //从XML配置文件取加密证书序列号
13 //从XML配置文件取用户证书介质名称
14 //从XML配置文件取证书介质提供者
15 //从XML配置文件取证书介质附加库
16 //从XML配置文件取用户签名证书路径
17 //从XML配置文件取用户加密证书路径
18 //从XML配置文件取签名P12证书路径
19 //从XML配置文件取加密P12证书路径
20 //从XML配置文件取用户证书链路径
21 //从XML配置文件取CRL作废列表路径0 //用户应用类型未定义
1 //用户应用类型CSP
2 //用户应用类型P11
3 //用户应用类型软算法
1 //加密P7数字信封
0 //解密P7数字信封
1 //Hash标志位
2 //对称算法标志位
3 //对称算法模式
1 //证书版本号
2 //证书序列号
3 //证书签名算法
4 //证书颁发者
5 //证书生效日期
6 //证书过期日期
第 8 页 共 9 页
BJCASecXCOM接口说明
#define CERT_OID_PUBLICKEY 7 //证书公钥
#define CERT_OID_UNIQUEID 8 //证书唯一标识
////////////////////////////////////////////////////////////////////
//返回结果定义
enum RETURN_VALUES //返回结果定义
{
SECCOM_SUCCESS = 0, //成功
SECCOM_FAIL = -1, //失败
ERR_PARA = -1000, //参数错误
ERR_Init = -1001, //初始化错误
ERR_Final = -1002, //释放错误
ERR_OPENFILE = -1003, //打开文件错误
ERR_BASE64 = -1004, //BASE64编码错误
ERR_P7BPATH = -1005, //p7证书链错误
ERR_CRL = -1006, //CRL错误
ERR_UNSET = -1007, //用户未设置
ERR_VERICERT = -1008, //验证用户证书错误
ERR_SIGNP7 = -1009, //P7签名错误
};
//错误信息
const static char* ERR_sOK = "S_OK";
const static char* ERR_sCertNull = "Cert_No_Load";
const static char* ERR_sPara = "Parameter_Error";
const static char* ERR_sOpenFile = "OpenFile_Error";
const static char* ERR_sInit = "Initialize_Error";
const static char* ERR_sFinal = "Finalize_Error";
const static char* ERR_sGetCert = "GetCert_Error";
const static char* ERR_sUnSet = "User_UnSet";
const static char* ERR_sSign = "SignData_Error";
const static char* ERR_sVeriSign = "Verify_SignedData_Error";
const static char* ERR_sEncrypt = "Encrypt_Error";
const static char* ERR_sDecrypt = "Decrypt_Error";
第 9 页 共 9 页
版权声明:本文标题:客户端控件BJCASecCOM接口说明 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1709123639a538277.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论