写点什么

Not-Yet-Commons-SSL 提供强大(而且免费)的 SSL 功能

  • 2007-06-11
  • 本文字数:1210 字

    阅读完需:约 4 分钟

Not-Yet-Commons-SSL 是 Apache 许可证下的一款 Java 类库,它提供易于使用的 API,并支持各种各样的证书格式和配置选项,来达到简化 SSL 的使用的目的。尤其是,它允许在单个 JVM 中使用多个证书,优雅地处理自签名证书,以及支持所有标准的证书格式,从而解决了一些长期以来一直存在的 Java 内建的 SSL 支持问题。

这个项目提出了五个设计目标,同时也总结了该库的特性:

使 SSL 和 Java 更加简单。你曾经想在你的 Java 应用中以一种安全的方式来使用自签名证书吗?或是在单个运行的 JVM 中使用不止一个客户端证书?你当然可以编辑你的$JAVA_HOME%/jre/lib/security/cacerts文件,或者通过-Djavax.net.ssl.keyStore=/path/to/keystore来调用 Java。这两个办法在开始的时候都很不错,但它们伸缩性并不好。你真的会想因为那些系统范围的变化,而污染掉你 JVM 中(HTTP、LDAP、JDBC、RMI 等等)每个 SSL 套接字吗?Commons-SSL 可以让你一种自然的方式对每一个SSLSocketFactory控制你需要的 SSL 选项,而且那些选项不会混入到你系统的其它部分。

增强安全性。 CRL 检查缺省是打开的。我们希望会很快添加对 OCSP 的支持!每过 24 小时就不得不从 Thawte 和 Verisign 下载大约 500KB 大小的 CRL 文件,这的确很令人讨厌。OCSP 就是针对它的改善。

增强灵活性。一旦创建SSLSocketFactory,就可以对检查主机名、过期期限、CRL 的和许多其他的选项进行开关设置。

支持更多的文件格式,而且更加智能化。- commons-ssl 支持 PKCS8 的超过 50 种格式 ,以及 PEM 或 DER 编码的 OpenSSL 加密私钥。

  • X.509 证书可以使用 PEM 或者 DER 编码。也可以以 PKCS7 链的形式产生(公平地说,Java 一直支持这个)。
  • PKCS12 文件可以用 PEM 编码(由openssl pkcs12创建)。
  • 在 Base64-PEM 的解析过程中对多余的空格或者注释更加宽容,尤其是超出 Base64 区段的部分。

对 KeyMaterial 或 TrustMaterial 类型的自动检测。消费者不需要知道 keystore 是 PKCS12 还是 JKS。他们只需要知道密码来解密私钥。

Not-Yet-Commons-SSL 是在英属哥伦比亚信用联盟中心(Credit Union Central of British Columbia)开发的,并于 2006 年捐赠给 Apache 软件基金会。它现在正处于 Apache 孵化器中,希望很快在接下来的几个月成为 Apache-Commons 项目的一部分。

Dejan Bosanac 就与 Java 的内建功能做了比较,写到:

如果你曾经使用过 Java 的 SSL 套接字连接,你可能会知道 Java 缺省支持它自己的 JKS 和 PKCS12 证书格式。对于那些需要使用 OpenSSL 的人来说,通常建议把 key 和证书转化成 PKCS12,然后使用 JDK 提供的keytool命令导入到 keystore。 虽然这对大多数应用程序来说算不了什么,但还是应该有一个更好的解决方案提供给那些非常依赖 SSL 的项目。 Not-Yet-Commons-SSL 项目之所以叫这个名字是因为,它还不是 Apache 的官方项目,它的目标在于简化 Java 和 SSL 的集成。

查看英文原文: Not-Yet-Commons-SSL Provides Powerful (and Free) SSL Capabilities

2007-06-11 00:004366
用户头像

发布了 127 篇内容, 共 45.5 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

10月24日程序员节

小齐写代码

云安全中的生成式AI:雷声大雨点小?!

树上有只程序猿

云安全 生成式人工智能

cmp云管平台专业厂商哪家好?有什么优势?

行云管家

公有云 数据安全 云管平台 云管理 云数据安全

10月24日程序员节

小魏写代码

更名 X:Twitter向超级应用的进化之路

FN0

小程序 超级app解决方案

Telegram 应用中正式引入国产小程序技术

Onegun

小程序 超级app 小程序容器技术

需要获取产品License

矩视智能

深度学习 机器视觉

数据飞轮拆解车企数据驱动三板斧:数据分析、市场画像、A/B实验

字节跳动数据平台

大数据 数字化转型 云服务 数据平台 火山引擎

支付宝沙箱超详细教程+避雷经验,看这篇就够了

盐焗代码虾

测试 支付宝 沙箱

TE智库|《在产业升级大潮中寻求自我突破的中国工业软件产业》报告发布,跟随中国工软追寻卓越的印记

TE智库

智能制造 先进制造 工业软件

我院五名学子获第四届“火焰杯”软件测试开发选拔赛全国奖项

霍格沃兹测试开发学社

第四届“火焰杯”软件测试高校就业选拔赛颁奖典礼

霍格沃兹测试开发学社

重磅官宣 | 第二届OpenHarmony技术峰会,邀您共启智联未来

OpenHarmony开发者

OpenHarmony

深入解析 GreptimeDB 全新时序存储引擎 Mito

Greptime 格睿科技

数据库 时序数据库 时序数据 Greptime GreptimeDB

公有云数据安全保障措施看这里!

行云管家

云计算 公有云 数据安全 堡垒机

10Z4 任务已发布,请各位玩家及时查收

Zilliz

1024 Milvus Zilliz 社区活动

颠覆者:Telegram 凭借源自中国的云基础设施成为超级应用

FN0

小程序 超级app miniapps

第9期 | GPTSecurity周报

云起无垠

直播预约丨《实时湖仓实践五讲》第三讲:实时湖仓在袋鼠云的落地实践之路

袋鼠云数栈

大数据 前端 湖仓一体 实时湖仓

谷歌优化的十种方法

九凌网络

第8期 | GPTSecurity周报

云起无垠

轻松理解 Transformers(1):Input部分

Baihai IDP

人工智能 深度学习 AI transformers 白海科技

1024 | 9位开发者分享生涯“最”时刻,文武状元大PK等你来

华为云开发者联盟

程序员 华为云 1024程序员节 华为云开发者联盟

41个外贸英语表达技巧!

九凌网络

重读Effective JAVA(一)- 精进自己的JAVA技术

xfgg

Java

Not-Yet-Commons-SSL提供强大(而且免费)的SSL功能_Java_James Kao_InfoQ精选文章