写点什么

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

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

关注

评论

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

与字节、小米、移动云等企业一起揭秘 RocketMQ 实践之道

阿里巴巴云原生

阿里云 RocketMQ 云原生 峰会

前端培训机构应该如何学习前端开发技术?

小谷哥

参加java培训学习建议选择

小谷哥

C#/VB.NET:在PDF中插入文本水印

Geek_249eec

C# PDF VB.NET 水印

深圳线下报名|StarRocks on AWS:如何对实时数仓进行极速统一分析

StarRocks

数据库

不懂就问,快速成为容器服务进阶玩家!

阿里巴巴云原生

阿里云 容器 云原生 训练营

IT远程运维是什么意思?远程运维软件哪个好?

行云管家

IT运维 远程运维 IT远程运维

应该怎么规划学习web前端培训

小谷哥

一文简述:SRv6基本原理

穿过生命散发芬芳

7月月更 SRv6

活动速递| Apache Doris 性能优化实战系列直播课程初公开,诚邀您来参加!

SelectDB

数据库 性能优化 数据仓库 OLAP Doris

Rust 入门指南(crate 管理)

王泰

rust

【干货】如何建立支持和产品之间的密切关系?

Geek_da0866

GIS数据漫谈(六)— 投影坐标系统

ThingJS数字孪生引擎

Rust 入门指南(rustup, cargo)

王泰

rust

在培训机构学到大数据技术

小谷哥

有奖征文 | 2022 云原生编程挑战赛征稿活动开启!

阿里巴巴云原生

阿里云 云原生编程挑战赛

零代码修改,教你Spring Cloud应用轻松接入CSE

华为云开发者联盟

云计算 后端 CSE

兆骑科创创新创业大赛人才引进平台,双创赛事高层次人才引进

兆骑科创凤阁

【后端开发】Reactor 模型详解

C++后台开发

reactor 后端开发 网络模型 C/C++后台开发 C/C++开发

多线程与高并发—— 源码解析 AQS 原理

王小凡

Java 程序员 AQS JVM 多线程

顿悟!百度强推的Redis天花板笔记,原来数据库是这样理解的

冉然学Java

分布式 redis' 技术专题合集 #java redis 底层原理

A tour of gRPC:05 - gRPC server straming 服务端流

BUG侦探

gRPC RPC protocolBuffer

“工厂、构造、原型” 设计模式与 JS 继承

掘金安东尼

JavaScript 前端 7月月更

深圳哪的培训机构学习大数据开发?

小谷哥

KubeEdge发布云原生边缘计算威胁模型及安全防护技术白皮书

华为云开发者联盟

云计算 云原生 安全

极狐GitLab Helm Registry 使用指南

极狐GitLab

git DevOps gitlab 运维 CI/CD

阿里云 MSE 支持 Go 语言流量防护

阿里巴巴云原生

Go 阿里云 云原生 云原生微服务

全链路灰度在数据库上我们是怎么做的?

阿里巴巴云原生

数据库 阿里云 微服务 云原生 全链路灰度

从0到1:基于云开发的投票小程序开发笔记

CC同学

小程序云开发 投票小程序

管理区解耦架构见过吗?能帮客户搞定大难题的

华为云开发者联盟

云计算 后端 华为云

如何做一个好的大数据平台架构

数据社

签约计划第三季

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