首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >浏览器中的国密应用接口规范

浏览器中的国密应用接口规范

作者头像
云水木石
发布2025-01-23 15:34:32
发布2025-01-23 15:34:32
3880
举报
文章被收录于专栏:信创系统开发信创系统开发

最近,有客户咨询浏览器中是否提供了国密标准中的 js 接口。说实话,接到这个问题还有点懵。之前做浏览器中的国密,实现的是 sm2、sm3、sm4算法已经 ssl 通信的国密支持,并没有涉及 js 接口。上网搜索一下国密 js,得到的结果都是使用 js 代码实现 sm2/sm3/sm4算法。

这肯定不是客户想要的答案。如果纯 js 实现国密算法,那就不需要浏览器做什么了。又进行了一番搜索,还是没找到答案。还是来问问 ai 吧。经过两轮交流,AI 给我提供了一个信息:

是不是 AI 的幻觉?我赶紧去官网: http://www.gmbz.org.cn/main/index.html 查看。以浏览器为关键词查询,还真的找到两个文档:

一个是 AI 提到的《浏览器密码应用接口规范》,还有一个与数字证书有关的应用接口规范。看了一下标准颁布的日期为2020年和2022年,难怪我一点印象都没有,我做浏览器中的国密时,这两个标准还没颁布。在这个项目做完之后,就没有做国密这块的事情了。

标准的内容详情参考文档,简单说来,国密浏览器应用接口规范基本上就是在 webcrypto 的基础上,增加了国密算法支持。

WebCrypto API是一个由W3C维护标准,它提供了一套JavaScript接口,允许网页应用进行安全的数据加密、解密、签名和验证等操作。这个API的核心目标是增强Web应用程序的安全性,让开发者能够在浏览器环境中执行复杂的加密任务。

后面一个证书接口规范与 ukey 有关,这个使用起来需要物理 ukey,比较复杂,成本比较高,一般只用在对安全要求非常高对场合。

一般来说,没有项目上的特殊要求,很多浏览器是没有实现的。

找到了标准,接下来实现就是体力活了。目前关于这个标准的测试网站基本没有,目前只找到了一个 https://crypto.browsertest.cn/,而且测试项很少。

国密目前有好多开源项目,我之前参考的 GMssl 这个项目,版本来到3.0,代码大变样,和2.0的接口不兼容,又是一个巨大的工程。

有从事国密产品开发的朋友,欢迎交流!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云水木石 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档