NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:003358
用户头像

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

关注

评论

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

Java ForEach语句判断是否为空

引花眠

bug

Java中的一些限制

xiaoxi666

ARTS打卡 第13周

引花眠

微服务 ARTS 打卡计划

我与游戏相伴【自我访谈2】

叶阳夏烟

系列 游戏 访谈录 剧情游戏 仙剑奇侠传

你期待的薪酬是多少?

escray

学习 面试

rockchip的yocto编译环境搭建

良知犹存

Linux yocto rockchip

架构师训练营 - 第 8 周学习总结

红了哟

ARTS打卡Week 11

teoking

Docker 安装及配置镜像加速

哈喽沃德先生

Docker 容器 微服务

“深化产教融合·共育数字人才”全国产教融合信息化高峰论坛·江苏站成功举办

InfoQ_967a83c6d0d7

【Elasticsearch 技术分享】—— ES 常用名词及结构

程序员小航

Java 搜索引擎 elastic ES Lucene Elastic Search

顺时针遍历矩阵,提高系统高并发350倍,React Native原理浅析 组件设计原则 安全架构 防火墙ModSecurity John 易筋 ARTS 打卡 Week 14

John(易筋)

ARTS 打卡计划 组件设计原则 React Native 高并发优化

想问面试官什么问题么?

escray

学习 面试

从Vessel到二代裸金属容器,云原生的新一波技术浪潮涌向何处?

华为云开发者联盟

Docker 容器 云原生 k8s Vessel

浅谈 GET 和 POST 区别

叉叉敌

面试 post GET

Python代码调试指南

王坤祥

Python Python基础

架构师训练营第十一周作业

Melo

看智微智能互动录播系统如何建设“三个课堂”

InfoQ_967a83c6d0d7

MacOS抓包工具Charles

叉叉敌

ios charles 抓包

一家估值20亿美元的公司,竟然没有办公室?

Atlassian

远程办公 Atlassian Jira

1.Flink任务之间通信开销-6

小知识点

scala 大数据 flink

要刷LeetCode了,才发现自己连时间复杂度都不懂

大头星

算法 LeetCode

disruptor 高性能队列最佳选择

柿子

队列 disruptoer 高性能队列

速看!今天我才知道,UUID还分五个版本

麦洛

Java uuid

ARTS打卡(20.08.17-20.08.23)

小王同学

6. 二十不惑,ObjectMapper使用也不再迷惑

YourBatman

json Jackson ObjectMapper

关于Aborted connection告警日志的分析

Simon

MySQL MySQL错误日志

ARTS Week13

时之虫

ARTS 打卡计划

大数据技术思想入门(三):分布式文件存储的流程

cristal

Java 大数据 hadoop 分布式

想不出来问题的你

escray

学习 面试

Newbe.Claptrap 框架入门,第三步 —— 定义 Claptrap,管理商品库存

newbe36524

Docker 云计算 微服务 .net core ASP.NET Core

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