I'm a little confused with how Java (6+) distributes its security framework. On one hand, you have the following packages (and their respective subpackages & types):
java.security.*
javax.security.*
And on the other hand you have java.lang.SecurityManager
, and possibly other security-related types sprinkled in other non-security packages (like java.lang
).
So, several questions:
- What is the difference between
java.security
andjavax.security
? When to use types in each? - Besides
java.lang
, are there any other packages where security-centric types appear, and if so, what are they? - Where do JCE and JCA fit in here? What packages do they comprise, or are they totally separate and in their own JARs?