欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    GB_T43578-2023信息安全技术通用密码服务接口规范.docx

    • 资源ID:1412653       资源大小:201.88KB        全文页数:105页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    GB_T43578-2023信息安全技术通用密码服务接口规范.docx

    ICS35.030CCS1.80中华人民共和家标准GB/T435782023信息安全技术通用密码服务接口规范InformationsecuritytechnologyUniversalcryptographyserviceinterfacespecification2023-12-28发布2024-07-01实施国家市场监督管理总局总希国家标准化管理委员会发布目次前言III1范围12规范性引用文件13术语和定义14缩略语15通用密码服务接口描述25.1 通用密码服务接口在公钥密码应用技术体系框架中的位置25.2 通用密码服务接口组成和功能说明26通用密码服务接口函数定义36.1 算法标识和数据结构36.2 环境类函数56.3 证书类函数86.4 密码运算类函数186.5 消息类函数447验证方法567.1 验证环境567.2 密码服务环境操作验证567.3 证书类函数功能验证577.4 签名验签验证607.5 摘要计算验证637.6 非对称加解密验证647.7 对称加解密验证657.8 生成密钥对验证677.9 PKCS#7运算验证687.10 SM2消息类运算验证687.11 Base64编码验证69附录A(资料性)通用密码服务接口函数汇总71附录B(规范性)SM9密码算法数据结构和接口函数74附录C(规范性)通用密码服务接口错误代码定义87参考文献89本文件按照GB/T1.12020标准化工作导则第1部分:标准化文件的结构和起草规则的规定起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。本文件由全国信息安全标准化技术委员会(SAC“C260)提出并归口。本文件起草单位:北京数字认证股份有限公司、无锡江南信息安全工程技术中心、中国电力科学研究院、中国电子技术标准化研究院、博雅中科(北京)信息技术有限公司、山东得安信息技术有限公司、上海市数字证书认证中心有限公司、北京信安世纪科技股份有限公司、智巡密码(上海)检测技术有限公司、格尔软件股份有限公司、中科信息安全共性技术国家工程研究中心有限公司、数安时代科技股份有限公司、阿里云计算有限公司、郑州信大捷安信息技术股份有限公司、中电科网络安全科技股份有限公司、中移(杭州)信息技术有限公司、浙江九州量子信息技术股份有限公司、航天信息股份有限公司、OP-Po广东移动通信有限公司、深圳市不动产登记中心。本文件主要起草人:赵松、王银平、程磊、夏鲁宁、侯鹏亮、李述胜、刘平、李智虎、黄晶晶、程科伟、浦雨三、马洪富、袁中林、许涛、王玉林、焦靖伟、韩玮、谭武征、高振鹏、杜志强、肖淑婷、梁松涛、刘为华、王中武、王晨光、张文科、凝亮、李根、路晓明、杨倩媚、频龙。信息安全技术通用密码服务接口规范1范围本文件规定了通用密码服务接口的数据结构、接口描述、函数定义要求,描述了相应验证方法。本文件适用于公开密钥应用技术体系下密码应用服务的开发,密码应用支撑平台的研制及检测,密码设备的应用系统的开发。2规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T20518信息安全技术公钥基础设施数字证书格式GB/T25069信息安全技术术语GBT32918.1信息安全技术SM2椭圆曲线公钥密码算法第1部分:总则GB/T33560信息安全技术密码应用标识规范GB/T35275信息安全技术SM2密码算法加密签名消息语法规范GB/T35276信息安全技术SM2密码算法使用规范GB/T35291信息安全技术智能密码钥匙应用接口规范GB/T36322信息安全技术密码设备应用接口规范GBT41389信息安全技术SM9密码算法使用规范GM/T00942020公钥密码应用技术体系框架规范GM/Z4001密码术语PKCS#1RSA密码编译标准(RSACryptographyStandard)PKCS#7密码消息语法标准(CryPtOgraPhiCMessageSyntaxStandard)3术语和定义GB/T25069、GWZ4001界定的以及下列术语和定义适用于本文件。3.1密钥容器keycontainer密码设备中用于保存密钥唯一性存储空间。4缩略语下列缩略语适用于本文件。CA:证书认证机构(CertifiCationAuthority)CR1.:证书撤销列表(CenifiCaIeRevocation1.ist)CSP:加密服务提供者(CryPtOgraPhiCServiceProvider)DER:可区分编码规则(DiStingUiShedEncodingRules)ECB:电子密码本(EleCtrOniCCodeBook)IV:初始化向量(initializationvector)1.DAP:轻量级目录访问协议(1.ighIWeighlDirectoryAccessProtocol)MAC:消息鉴别码(MeSSageAuthenticationCode)OCSP:在线证书状态协议(OnlineCertificateStatusProtocol)OID:对象标识符(ObjeelIdentifier)RSA:非对称加密算法(RiVeSt-Shamir-AdlemanAlgorithm)5通用密码服务接口描述5.1 通用密码服务接口在公钥密码应用技术体系框架中的位置公钥密码应用技术体系框架由应用层、典型密码应用支撑层、通用密码应用支撑层、基础设施安全支撑平台、密码设备服务层组成。通用密码服务接口属于通用密码应用支撑层中通用密码服务,向典型密码服务层和应用层提供证书解析、证书认证、信息的机密性、完整性和不可否认性通用密码服务,将上层应用的密码服务请求转化为具体的基础密码操作请求,通过统一的密码设备应用接口调用相应的密码设备实现具体的密码运算和密钥操作,通用密码服务在公钥密码应用技术框架内的位置应遵循GM/T00942020的第4章。5.2 通用密码服务接口组成和功能说明5.2.1 殿通用密码服务接口由以下部分组成:a)环境类函数;b)证书类函数;c)密码运算类函数;d)消息类函数。通用密码服务接口函数汇总信息详见附录A。本文件中的相关接口,均采用C语言形式定义,作为参考。5.22环境类函数环境类函数负责创建和管理程序空间中所需的各种资源、信号,并确保程序空间在应用程序运行期间不会被非法访问,造成信息泄露。环境类函数负责完成与密码设备的安全连接,确保后续的操作是在安全的程序空间中进行。环境类函数还负责在用户与密码设备之间创建和管理应用接口句柄。可创建两种类型的应用接口句柄,一类是普通用户,该类型的应用接口句柄标识该用户是普通用户,只能访问密码设备中属于自己的信息和数据;另一类是管理员,该类型的应用接口句柄标识该用户是管理员,管理员可管理普通用户的应用接口句柄。应用程序在使用通用密码服务接口时,首先要调用初始化环境函数(SAFJnilialize)创建和初始化安全的程序空间,完成与密码设备连接和初始化工作。应用程序在调用任何密码服务函数前应确保运行环境安全,可采用白名单机制或对接入设备进行认证的方式,进行任何私钥运算之前应首先调用用户登录函数(SAF_1.ogin),创建应用接口句柄。当不再调用密码服务函数时,应调用注销登录函数(SAF_1.ogoUt)注销安全访问令牌,防止密码设备被非法访问。在终止应用程序之前,应调用清除环境函数(SAF-Finalize),中止与密码设备的连接,销毁所创建的安全的程序空间,防止由于内存残留所带来的安全风险。1.1.1 书类函数证书类函数负责将各类数字证书设置到应用接口会话环境中,实现证书获取、CR1.获取、CA根证书设置、用户证书验证和用户证书信息获取功能。应用程序通过调用证书类函数,实现基于数字证书的身份认证、授权管理、访问控制安全机制。本文件中涉及的数字证书格式应符合GB/T20518的规定。5.2.4 密码运算类函数密码运算类函数负责与密码设备交互并实现密码运算,并将密码运算后的结果返回给应用程序,是应用程序实现数据机密性、完整性和不可否认性等安全机制的基础。密码运算类函数提供包括Base64编解码、随机数生成、密码杂凑以及各种对称和非对称密码运算等。密码运算函数支持定长数据和不定长数据的密码运算,对于定长数据可直接调用相关函数进行处理;对于不定长数据,需要先创建相应的密码运算对象,然后调用相应的函数对数据进行持续处理。当数据处理完时,要调用相应的函数表示数据处理完,最后要调用相应函数销毁相应的密码运算对象。5.2.5 消息类函数消息类函数的功能是将数据按照数字信封格式进行封装,实现应用系统互联互通和信息共享,使用RSA算法时遵循PKCS#7,使用国密算法时遵循GB/T35275。消息类函数提供了数据编解码、签名数据编解码和数字信封编解码,能够非常方便应用程序实现真实性、机密性、完整性和不可否认性等安全措施。6通用密码服务接口函数定义6.1 算法标识和数据结构6.1.1 算法标识与常量定义本文件所使用常量定义、各类算法标识和证书解析标识的具体定义符合GB/T33560。6.1.2 通用密码服务接口数据结构定义和说明6.1.2.1 常量定义数据常量标识定义了常量的取值。数据常量标识的定义符合表1的规定。表1常½义常量名取值描述SGD_WX_COUNT64枚举出的对象数量最大值SGD_MAX_NAME_SIZE256证书某项信息的字符串长度最大值6.1.22用户证书列表用户证书列表定义了用户证书传递结构。用户证书列表定义符合表2的规定。«2用户证书列表字段名称含义cerlCount证书总数CertificateDER编码的数字证书Certificate1.en数字证书的长度ContainerName密钥容器名称ContainerName1.en密钥容器名称的长度keyUsage密钥用途C语言的数据结构定义:typedefstructSGD_USR_CERT_ENUM1.IST_(unsignedintcertCount;unsignedchar*certificateSGD_MAX_COUNT;unsignedintcertificate1.enSGD_MAX_COUNTJ;unsignedchar*containerNameSGD_MAX_COUNT;unsignedintcontainerName1.enSGD_MAX_COUNTJ;unsignedintkeyUsageSGD_MAX_COUNT;SGD_USR_CERT_ENUM1.IST;6.1.2.3密钥容器信息列表密钥容器信息列表定义了密钥容器信息。密钥容器信息列表定义符合表3的规定。表3密钥容器信息列表字段名称含义kcyPairCount密钥容器信息总数ContainerName密钥容器名称ContainerName1.en密钥容器名称的长度keyUsage密钥用途,1:加密:2:签名:3:密钥交换keyType密钥类型,1:SM2:2:RS1024(存在安全风险):3:RS2048:4:RS3072:5:RS4096:6:SM9(SM9密码算法定义应符合附录B的规定)C语言的数据结构定义:typedefstructSGD_KEYCONTAINERINFO_ENUM1.IST_(unsignedintkeyPairCount;unsignedchar*containerNameSGD_MAX_COUNT;unsignedntcontainerName1.enSGD_MAX_COUNT;unsignedjn(keyUsageSGD_MAX_COUNTJ;unsignedintkeyTypeSGD_MAX_COUNT;)SGD_KEYCONTAINER1NFO_ENUM1.IST;6.2环境类函数6.21献环境类函数负责创建和管理程序空间中所需的各种资源、信号,并确保程序空间在应用程序运行期间不会被非法访问,造成信息泄露。6.2.2初始化环境初始化环境函数定义应符合表4的规定。表4初始化环境函数定义原型intSAF_Initialize(void*phAppHandle,unsignedchar*pucCfgFiIePath)描述初始化密码服务程序空间参数PhAppHandletin,OUt(输入并返回应用接口句柄)PUCCfgFilePathin(配置文件全路径名,配置信息自定义,宜包括:密码设备类型、密码设备动态库名称、设备的配置文件、应用策略等)返回值0(成功)非0(失败,返回附录C中表C.1定义的错误代码,应符合附录C的规定)6.2.3清除环境清除环境函数定义应符合表5的规定。表5清除环境函数定义原型intSAF_FinaIize(void*hAppHandle)描述清除应用程序空间参数hAppHandlcin(应用接口句柄)返回值0(成功)非0(失败,返回表C.1定义的错误代码,应符合附录C的规定)6.2.4获取接口版本信息获取接口版本信息函数定义应符合表6的规定。«6获取接口版本信息函数定义原型intSAF_GetVersion(UnSignedint*puiVersion)描述取接口对应标准的版本号参数PUiVerSiOnout(版本号)返回值0(成功)非0(失败,返回表C1定义的错误代码,应符合附录C的规定)备注版本号的格式为OXAABBCCeC,其中AA为主版本号,BB为次版本号,CCCC为修改号6.2.5用户登录用户登录函数定义应符合表7的规定。表7用户登录函数定义原型intSAF_1.ogin(void*hAppHandle,unsignedintUiUsrType,unsignedchar*pucContainerName,unsignedintUiContainerName1.en,unsignedchar*pucPin,unsignedintUiPin1.en,unsignedint*puiRemainCount)描述用户登录密码设备,建立安全令牌参数hAppHandlein(应用接口句柄)UiUSrTyPein(用户类型,当为0时表示管理员登录,为1时表示用户登录)PUCContainerNamein密钥容器名(或多个参数的拼接值,多个参数时用即#拼接)或密钥检索号UiContainerName1.enin(密钥容器名或密钥检索号的长度)PUCPinin(设备口令)UiPEin(设备口令长度)PuiRemainCountout(令剩余重试次数)返回值0(成功)非0(失败,返回表c.1定义的错误代码,应符合附录C的规定)规则在服务器端使用加密机或加密卡时,加密机或加密卡应遵循GB/T36322或GB/T35291,对遵循GB/T35291的设备,PUCCOntainerName用于标识指定的密钥容器名或多个参数的拼接值,对遵循GB/T36322的设备,PucContainerName用于标识密码设备内部的密钥位置6.2.6修改口令修改口令函数定义应符合表8的规定。«8修改口令函数定义原型intSAF_ChangePin(void*hAppHandle,unsignedintUiUsrType,unsignedchar*pucContainerName,unsignedintUiContainerName1.en,unsignedchar*puc01dPin,unsignedintUiOldPin1.en,unsignedchar*pucNewPin,unsignedintUiNewPin1.en,unsignedint*puiRemainCount)描述修改设备口令,本函数仅适用于遵循GBT35291的客户端密码设备参数HAppHandlein(应用接口句柄)UiUSrTyPein(用户类型,当为0时表示管理员登录,为1时表示用户登录)PUCConIainerNamein(密钥容器名或密钥检索号)UiCOntainerName1.enin(密钥容器名或密钥检索号的长度)PUCOIdPinin(设备当前口令)UiOIdPin1.enin(设备当前口令长度)PucNewPinin(设备新口令)UiNeWPin1.enin(设备新口令长度)PuiRemainCountout(口令剩余重试次数)返回值0(成功)非0(失败,返回表C.1定义的错误代码,应符合附录C的规定)6.2.7注销暨录注销登录函数定义应符合表9的规定。表9注销登录函数定义原型intSAF-1.ogout(void*hAppHandle,unsignedintuiUsrType)描述设备注销登录参数HAppHandlein(应用接口句柄)UiUSrTyPein(用户类型,当为0时表示管理员登录,为1时表示用户登录)返回值0(成功)非0(失败,返回表c.1定义的错误代码,应符合附录C的规定)6.3证书类函数6.31般证书类函数设置各类数字证书到应用接口会话环境中、验证用户证书和获取数字证书或CR1.,提供包括证书获取、CR1.获取、CA根证书设置、用户证书验证和用户证书信息获取等一系列具体函数。6.3.2添加根CA证书添加根CA证书函数定义应符合表10的规定。«10添加根CA证书函数定义原型intSAF-AddTrustedRootCaCertificate(void*hAppHandle,unsignedchar*pucCertificate,unsignedintUiCertificate1.en,unsignedintuiIndex)描述添加信任的CA根证书参数hAppHandlein(应用接口句柄)PUCCertifiCatein(DER编码的证书)UiCertifiCate1.enin(证书长度)UilndeXout(CA根证书索引)返回值0(成功)非0(失败,返回表C.1定义的错误代码,应符合附录C的规定)备注本函数仅限于管理员使用6.3.3获取根CA证书个数获取根CA证书个数函数定义应符合表11的规定。«11获取根CA证书个数函数定义原型intSAF-GetRootCaCertificateCount(void*hAppHandle,unsignedint*puiCount描述获取信任根CA证书的个数参数hAppllandlein(应用接口句柄)puiCountout(信任根CA证书个数)返回值0(成功)非0(失败,返回表C.1定义的错误代码,应符合附录C的规定)6.3.4获取根CA证书获取根CA证书函数定义应符合表12的规定。«12获取根CA证书函数定义原型intSAF-GetRootCaCertificate(void*hAppHandle,unsignedintuiIndexunsignedchar*pucCertificateunsignedint*puiCertificate1.en)描述获取指定位置CA根证书参数hAppHandlein(应用接口句柄)uilndexin(根证书索引)PUCCertificateout(DER编码的证书)puiCertificate1.enin,OUt(证书长度)返回值0(成功)非0(失败,返回表CJ定义的错误代码,应符合附录C的规定)6.3.5删除根CA证书删除根CA证书函数定义应符合表13的规定。*13删除根CA证书函数定义原型intSAFRemoveRootCaCertificate(void*hApplIandle,unsignedintuiIndex)描述删除指定位置CA根证书参数HAppHandlein(应用接口句柄)UilndeXin(根证书索引)返回值0(成功)非0(失败,返回表C.1定义的错误代码,应符合附录C的规定)备注本函数仅限于管理员使用«14添加CA证书函数定义原型intSAF-AddCaCertificate(void*hAppHandle,unsignedchar*pucCertificate,unsignedintUiCertificate1.en,unsignedintuiIndex)描述添加CA证书参数hAppHandlein(应用接口句柄)PUCCertifiCatein(DER编码的证书)UiCertifiCate1.enin(证书长度)UiIndeXout(CA证书索引)返回值0(成功)非0(失败,返回表C.1定义的错误代码,应符合附录C的规定)备注本函数仅限于管理员使用6.3.7获取CA证书个数获取CA证书个数函数定义应符合表15的规定。表15获取CA证书个数函数定义原型intSAF-GetCaCertificateCount(void*hppHandle,unsignedint*puiCount)描述获取信任CA证书的个数参数hAppHandlein(应用接口句柄)PUiCoUntout(信任CA证书个数)返回值0(成功)非0(失败,返回表C.1定义的错误代码,应符合附录C的规定)6.3.8获取CA证书表16获取CA证书函数定义原型intSAF_GetCaCertificate(void*hAppHandleunsignedintuiIndexunsignedchar*pucCertificateunsignedint*puiCertificate1.en)描述获取指定位置CA证书参数hAppHandlein(应用接口句柄)UilndeXin(CA证书索引)PUCCertifiCateout(DER编码的证书)PuiCertificate1.enEin,OUt(证书长度)返回值0(成功)非0(失败,返回表C.1定义的错误代码,应符合附录C的规定)6.3.9删除CA证书删除CA证书函数定义应符合表17的规定。表17删除CA证书函数定义原型intSAFRemoveCaCertificate(void*hppHandle,unsignedintuiIndex)描述删除指定位置CA证书IiAppHandlein(应用接口句柄)参数UilndeXin(证书位置索引)返回值0(成功)非0(失败,返回表CJ定义的错误代码,应符合附录C的规定)备注本函数仅限于管理员使用6.3.10 添加CR1.添加CR1.函数定义应符合表18的规定。表18添加CR1.函数定义原型intSAF_AddCrl(void*hppHandle,unsignedchar*pucDerCrl,unsignedintUiDerCrl1.en)描述添加CR1.参数hAppHandlein(应用接口句柄)PUCDerCrlin(DER编码的CR1.)UiDerCrl1.enin(DER编码CR1.的长度)返回值0(成功)非0(失败,返回表c.1定义的错误代码,应符合附录C的规定)备注本函数仅限于管理员使用6.3.11 验证用户证书验证用户证书函数定义应符合表19的规定。*19验证用户证书函数定义原型intSAF-VerifyCertificate(void*hAppHandle,unsignedchar*pucllsrCertificate,unsignedintUiUsrCertificate1.en)描述验证用户证书的有效性,包括验证有效期、证书信任列表、吊销状态等参数hAppHandlein(应用接口句柄)PucUsrCertificatein(DER编码的证书)UiUSrCertifiCate1.enin(证书长度)返回值0(成功)非0(失败,返回表CJ定义的错误代码,应符合附录C的规定)6.3.12根据CR1.文件获取用户证书注销状态根据CR1.文件获取用户证书注销状态函数定义应符合表20的规定。表20根据CR1.文件获取用户证书注销状态函数定义原型intSAF-VerifyCertificateByCrKvoid*hppHandle,unsignedchar*pucUsrCertificate,unsignedintUiUsrCertificate1.en,unsignedchar*pucDerCrl,unsignedintUiDerCrl1.entunsignedchar*pucRevokeDate)描述根据CR1.文件验证用户证书是否被注销参数HAppHandlein(应用接口句柄)PucUsrCertificateEin(DER编码的证书)UiUSrCertifiCate1.enin(证书长度)PUCDererlin(DER编码的CR1.)UiDerCrI1.enin(CR1.长度)PUCReVokeDateout(若证书有效此参数不返回,若证书被注销,则返回注销日期,格式为YYYYMM-DDHH:MM:SS)返回值0(成功)非0(失败,返回附录C.1的错误代码,应符合附录C的规定)6.3.13 根据OCSP获取用户证书注销状态根据OCSP获取用户证书注销状态函数定义应符合表21的规定。«21根据OCSP获取用户证书注销状态函数定义原型intSAF-GetcertificateStateByOCSP(void*hAppHandIe,unsignedchar*puccspHostUR1.,unsignedintUiOespHostUR1.1.en,unsignedchar*puclIsrCertificate,unsignedintUiUsrCertificate1.en,unsignedchar*ucCACertificate,unsignedintuiCACertificate1.en,unsignedchar*pucRevokeDate)描述从OCSP获取用户证书的实时状态参数IiAppHandlein(应用接口句柄)PUeoeSPHOStUR1.in(OCSP服务的UR1.)UiOeSPHOStUR1.1.enin(UR1.长度)PUCUSrCertifiCatein(DER编码证书)UiUSrCertifiCate1.enin(证书长度)PUCCACertifiCatein(DER编码颁发者证书)UiCACertifiCate1.enin(颁发者证书长度)PUCReVokeDateout(若证书有效此参数不返回,若证书被吊销,则返回吊销日期,格式为YYYY-MM-DDHH:MM:SS)返回值0(成功)非0(失败,返回表C.I定义的错误代码,应符合附录C的规定)6.3.14 通过1.DAP方式获取证书通过1.DAP方式获取证书函数定义应符合表22的规定。表22通过1.DAP方式获取证书函数定义原型intSAF-GetCertFrom1.dap(void*hppHandle,char*pc1.dapHostUR1.,unsignedintui1.dapHostUR1.1.en,unsignedchar*ucQueryDN,unsignedintUiQueryDN1.en,unsignedchar*ucOutCert,unsignedint*puiOutCert1.en)描述通过1.DAP方式获取证书参数hAppHandlein(应用接口句柄)PC1.daPHOStUR1.in(1.DAP服务器IP地址)Ui1.dapHostUR1.1.enin(1.DAP服务器端口)PucQueryDNEin(需要查找的证书的查询条件)UiQUeryDN1.enin(查询条件长度)PUCOUtCertout(查询到的Base64编码的证书,如查询出多证书,则证书信息中间以”分割)PuiOutCert1.enEin,out(找到的证书长度)返回值0(成功)非0(失败,返回表C.1定义的错误代码,应符合附录C的规定)6.3.15通过1.DAP方式获取证书对应的CR1.通过1.DAP方式获取证书对应的CR1.函数定义应符合表23的规定。«23通过1.DAP方式获取证书对应的CR1.函数定义原型intSAFGetCrIFr(Mi)1.dap(void*hAppllandle,char*pe1.dapHostUR1.,unsignedintui1.dapHostUR1.1.en,unsignedchar*pucCertificate,unsignedintUiCertificate1.en,unsignedchar*pucCrlData,unsignedint*puiCrIDataken)描述通过1.DAP方式根据证书获取对应的CR1.表23通过1.DAP方式获取证书对应的CR1.函数定义(续)参数IiAppHandlein(应用接口句柄)PC1.daPHoStUR1.in(1.DAP服务UR1.)Ui1.daPHoStUR1.1.enin(UR1.长度)PUeCertifiCatein(DER编码的数字证书)UiCertifiCate1.enin(证书长度)PUCCrlDataout(获取的DER编码的CR1.文件)PuiCrlData1.enEin,OUt(CR1.文件长度)返回值0(成功)非0(失败,返回表CJ定义的错误代码,应符合附录C的规定)6.3.16获取证书信息获取证书信息函数定义应符合表24的规定。表24获取证书信息函数定义原型intSAF-GetCertificatelnfo(void*hppHandle,unsignedchar*pucCertificate,unsignedintUiCertificate1.en,unsignedintuiInfoType,unsignedchar*puclnfo,unsignedint*puiInfo1.en)描述解析证书,获取证书中的信息参数IiAppHandlein(应用接口句柄)PucCertificate1.in(DER编码的证书)UiCertifiCate1.enin(证书长度)UilnfoTyPein(指定的证书解析标识,应符合GB/T33560的规定)PUCInfoout(获取的证书信息)puilnfo1.enin,out(获取的证书信息长度)返回值0(成功)非0(失败,返回表C.1定义的错误代码,应符合附录C的规定)6.3.17获取证书扩展信息获取证书扩展信息函数定义应符合表25的规定。表25获取证书扩展信息函数定义原型intSAFGetExtTypeInfo(void*hppHandle,unsignedchar*ucDerCert,unsignedintUiDerCert1.en,unsignedintuiInfoType,unsignedchar*pucPriOid,unsignedintUiPriOid1.en,unsignedchar*puclnfounsignedint*puiInfo1.en)描述获取证书的扩展信息参数HAppHandlein(应用接口句柄)PUCDerCertin(DER格式的数字证书)UiDerCert1.enEin(数字证书长度)UiInfoTyPein(指定的证书扩展项解析标识,应符合GB/T33560的规定)pucPriOidin(扩展项的OID,如果不是私有扩展项类型,该参数无效)UiPrioid1.enin(扩展项OID长度,如果不是私有扩展项类型,该参数无效)puclnfoout(获取的证书信息)puiInfo1.enEin,OUt(获取的证书信息长度)返回值0(成功)非0(失败,返回表Cl定义的错误代码,应符合附录C的规定)6.3.18列举用户证书列举用户证书函数定义应符合表26的规定。表26列举用户证书函数定义原型intSAF-EnumCertificates(void*hAppHandle,SGD_USR_CERT_ENliM1.IST*usrCerts)描述列举出插入当前计算机的所有密码设备内的有效证书参数hAppHandlein(应用接口句柄)UsrCertsout(返回的用户证书列表)返回值0(成功)非0(失败,返回表C.1定义的错误代码,应符合附录C的规定)备注USrCertS结构内的对象数据由本函数分配空间。本函数用于客户端枚举证书6.3.19列举用户的密钥容器信息列举用户的密钥容器信息函数定义应符合表27的规定。«27列举用户的密钥容器信息函数定义原型IntSAF-EnumKeyContainerlnfo(void*hAppHandle,SGD_KEYCONTAINERINFO_ENUM1.IST*keyContainerlnfo)描述列举插入当前计算机的所有密码设备的密钥容器信息参数hAppHandlein(应用接口句柄)ReyContainerlnfoou

    注意事项

    本文(GB_T43578-2023信息安全技术通用密码服务接口规范.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开