12

我对 Java (6+) 如何分发其安全框架感到有些困惑。一方面,您有以下包(以及它们各自的子包和类型):

  • java.security.*
  • javax.security.*

另一方面,您有java.lang.SecurityManager,可能还有其他与安全相关的类型散布在其他非安全包中(如java.lang)。

所以,几个问题:

  1. java.security和 和有什么不一样javax.security?何时在每个中使用类型?
  2. 此外java.lang,是否还有其他以安全为中心的类型出现的包,如果有,它们是什么?
  3. JCE 和 JCA 在哪里适合?它们包含哪些包,或者它们完全独立并在自己的 JAR 中?
4

1 回答 1

8

分裂主要有历史原因。曾几何时,美国对加密软件有出口限制。

根据经验:与签名相关的东西在 java.security 中,其余的(密码,...)在 javax.security 中。

JRE 现在捆绑了标准安全提供程序,因此 JCE 是该平台的一部分。

于 2013-11-26T15:11:24.563 回答