java.security vs javax.security

IAm*_*aja 8 java security jce securitymanager

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

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

而另一方面,您可以java.lang.SecurityManager使用其他非安全包(例如java.lang)中的其他安全相关类型.

那么,有几个问题:

  1. java.security和之间有什么区别javax.security?何时使用每种类型?
  2. 此外java.lang,还有其他任何以安全为中心的类型出现的软件包,如果有的话,它们是什么?
  3. JCE和JCA在哪里适合?它们包含哪些包,或者它们是否完全独立于自己的JAR中?

提前致谢!

Hen*_*nry 5

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

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

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