# Uses of Package
java.security

- Packages that use java.security
  Package | Description
  --- | ---
  com.sun.jarsigner | This package comprises the interfaces and classes used to define the signing mechanism used by the `jarsigner` tool.
  com.sun.jdi | This is the core package of the Java Debug Interface (JDI), it defines mirrors for values, types, and the target VirtualMachine itself - as well bootstrapping facilities.
  com.sun.net.httpserver | Provides a simple high-level Http server API, which can be used to build embedded HTTP servers.
  com.sun.security.auth | Provides implementations of `Principal`.
  com.sun.security.jgss |
  com.sun.tools.attach | Provides the API to attach to a Java™ virtual machine.
  java.awt | Contains all of the classes for creating user interfaces and for painting graphics and images.
  java.io | Provides for system input and output through data streams, serialization and the file system.
  java.lang | Provides classes that are fundamental to the design of the Java programming language.
  java.lang.instrument | Provides services that allow Java programming language agents to instrument programs running on the JVM.
  java.lang.management | Provides the management interfaces for monitoring and management of the Java virtual machine and other components in the Java runtime.
  java.lang.reflect | Provides classes and interfaces for obtaining reflective information about classes and objects.
  java.net | Provides the classes for implementing networking applications.
  java.nio.file | Defines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems.
  java.nio.file.attribute | Interfaces and classes providing access to file and file system attributes.
  java.security | Provides the classes and interfaces for the security framework.
  java.security.acl | The classes and interfaces in this package have been deprecated.
  java.security.cert | Provides classes and interfaces for parsing and managing certificates, certificate revocation lists (CRLs), and certification paths.
  java.security.interfaces | Provides interfaces for generating RSA (Rivest, Shamir and Adleman AsymmetricCipher algorithm) keys as defined in the RSA Laboratory Technical Note PKCS#1, and DSA (Digital Signature Algorithm) keys as defined in NIST's FIPS-186.
  java.security.spec | Provides classes and interfaces for key specifications and algorithm parameter specifications.
  java.sql | Provides the API for accessing and processing data stored in a data source (usually a relational database) using the Java™ programming language.
  java.util | Contains the collections framework, some internationalization support classes, a service loader, properties, random number generation, string parsing and scanning classes, base64 encoding and decoding, a bit array, and several miscellaneous utility classes.
  java.util.concurrent | Utility classes commonly useful in concurrent programming.
  java.util.jar | Provides classes for reading and writing the JAR (Java ARchive) file format, which is based on the standard ZIP file format with an optional manifest file.
  java.util.logging | Provides the classes and interfaces of the Java™ 2 platform's core logging facilities.
  javax.crypto | Provides the classes and interfaces for cryptographic operations.
  javax.crypto.interfaces | Provides interfaces for Diffie-Hellman keys as defined in RSA Laboratories' PKCS #3.
  javax.crypto.spec | Provides classes and interfaces for key specifications and algorithm parameter specifications.
  javax.management | Provides the core classes for the Java Management Extensions.
  javax.management.loading | Provides the classes which implement advanced dynamic loading.
  javax.management.remote | Interfaces for remote access to JMX MBean servers.
  javax.net.ssl | Provides classes for the secure socket package.
  javax.security.auth | This package provides a framework for authentication and authorization.
  javax.security.auth.kerberos | This package contains utility classes related to the Kerberos network authentication protocol.
  javax.security.auth.login | This package provides a pluggable authentication framework.
  javax.security.auth.x500 | This package contains the classes that should be used to store X500 Principal and X500 Private Credentials in a Subject.
  javax.security.cert | Provides classes for public key certificates.
  javax.smartcardio | Java™ Smart Card I/O API
  javax.sound.sampled | Provides interfaces and classes for capture, processing, and playback of sampled audio data.
  javax.xml.bind | Provides a runtime binding framework for client applications including unmarshalling, marshalling, and validation capabilities.
  javax.xml.crypto | Common classes for XML cryptography.
  javax.xml.crypto.dsig | Classes for generating and validating XML digital signatures.
  javax.xml.crypto.dsig.dom | DOM-specific classes for the `javax.xml.crypto.dsig` package.
  javax.xml.crypto.dsig.keyinfo | Classes for parsing and processing `KeyInfo` elements and structures.
  javax.xml.ws | This package contains the core JAX-WS APIs.
  javax.xml.ws.spi.http | Provides HTTP SPI that is used for portable deployment of JAX-WS web services in containers(for e.g. servlet containers).
  jdk.net | Platform specific socket options for the `java.net` and `java.nio.channels` socket classes.
  jdk.security.jarsigner |
  org.ietf.jgss | This package presents a framework that allows application developers to make use of security services like authentication, data integrity and data confidentiality from a variety of underlying security mechanisms like Kerberos, using a unified API.

- Classes in java.security used by com.sun.jarsigner
  Class | Description
  --- | ---
  NoSuchAlgorithmException | This exception is thrown when a particular cryptographic algorithm is requested but is not available in the environment.

- Classes in java.security used by com.sun.jdi
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.

- Classes in java.security used by com.sun.net.httpserver
  Class | Description
  --- | ---
  Principal | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.

- Classes in java.security used by com.sun.security.auth
  Class | Description
  --- | ---
  CodeSource | This class extends the concept of a codebase to encapsulate not only the location (URL) but also the certificate chains that were used to verify signed code originating from that location.
  PermissionCollection | Abstract class representing a collection of Permission objects.
  Principal | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.

- Classes in java.security used by com.sun.security.jgss
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.

- Classes in java.security used by com.sun.tools.attach
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.

- Classes in java.security used by java.awt
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.

- Classes in java.security used by java.io
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.
  PermissionCollection | Abstract class representing a collection of Permission objects.

- Classes in java.security used by java.lang
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.
  ProtectionDomain | The ProtectionDomain class encapsulates the characteristics of a domain, which encloses a set of classes whose instances are granted a set of permissions when being executed on behalf of a given set of Principals.

- Classes in java.security used by java.lang.instrument
  Class | Description
  --- | ---
  ProtectionDomain | The ProtectionDomain class encapsulates the characteristics of a domain, which encloses a set of classes whose instances are granted a set of permissions when being executed on behalf of a given set of Principals.

- Classes in java.security used by java.lang.management
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.

- Classes in java.security used by java.lang.reflect
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.

- Classes in java.security used by java.net
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  CodeSource | This class extends the concept of a codebase to encapsulate not only the location (URL) but also the certificate chains that were used to verify signed code originating from that location.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.
  PermissionCollection | Abstract class representing a collection of Permission objects.
  Principal | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.
  SecureClassLoader | This class extends ClassLoader with additional support for defining classes with an associated code source and permissions which are retrieved by the system policy by default.

- Classes in java.security used by java.nio.file
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.

- Classes in java.security used by java.nio.file.attribute
  Class | Description
  --- | ---
  Principal | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.

- Classes in java.security used by java.security
  Class | Description
  --- | ---
  AccessControlContext | An AccessControlContext is used to make system resource access decisions based on the context it encapsulates.
  AccessControlException | This exception is thrown by the AccessController to indicate that a requested access (to a critical system resource such as the file system or the network) is denied.
  AlgorithmParameterGenerator | The `AlgorithmParameterGenerator` class is used to generate a set of parameters to be used with a certain algorithm.
  AlgorithmParameterGeneratorSpi | This class defines the Service Provider Interface (SPI) for the `AlgorithmParameterGenerator` class, which is used to generate a set of parameters to be used with a certain algorithm.
  AlgorithmParameters | This class is used as an opaque representation of cryptographic parameters.
  AlgorithmParametersSpi | This class defines the Service Provider Interface (SPI) for the `AlgorithmParameters` class, which is used to manage algorithm parameters.
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Certificate | Deprecated. A new certificate handling package is created in the Java platform. This Certificate interface is entirely deprecated and is here to allow for a smooth transition to the new package.
  CodeSigner | This class encapsulates information about a code signer.
  CodeSource | This class extends the concept of a codebase to encapsulate not only the location (URL) but also the certificate chains that were used to verify signed code originating from that location.
  CryptoPrimitive | An enumeration of cryptographic primitives.
  DigestException | This is the generic Message Digest exception.
  DomainCombiner | A `DomainCombiner` provides a means to dynamically update the ProtectionDomains associated with the current `AccessControlContext`.
  DrbgParameters.Capability | The reseedable and prediction resistance capabilities of a DRBG.
  DrbgParameters.Instantiation | DRBG parameters for instantiation.
  DrbgParameters.NextBytes | DRBG parameters for random bits generation.
  DrbgParameters.Reseed | DRBG parameters for reseed.
  GeneralSecurityException | The `GeneralSecurityException` class is a generic security exception class that provides type safety for all the security-related exception classes that extend from it.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Identity | Deprecated. This class is no longer used. Its functionality has been replaced by `java.security.KeyStore`, the `java.security.cert` package, and `java.security.Principal`.
  IdentityScope | Deprecated. This class is no longer used. Its functionality has been replaced by `java.security.KeyStore`, the `java.security.cert` package, and `java.security.Principal`.
  InvalidAlgorithmParameterException | This is the exception for invalid or inappropriate algorithm parameters.
  InvalidKeyException | This is the exception for invalid Keys (invalid encoding, wrong length, uninitialized, etc).
  InvalidParameterException | This exception, designed for use by the JCA/JCE engine classes, is thrown when an invalid parameter is passed to a method.
  Key | The Key interface is the top-level interface for all keys.
  KeyException | This is the basic key exception.
  KeyFactory | Key factories are used to convert keys (opaque cryptographic keys of type `Key`) into key specifications (transparent representations of the underlying key material), and vice versa.
  KeyFactorySpi | This class defines the Service Provider Interface (SPI) for the `KeyFactory` class.
  KeyManagementException | This is the general key management exception for all operations dealing with key management.
  KeyPair | This class is a simple holder for a key pair (a public key and a private key).
  KeyPairGenerator | The KeyPairGenerator class is used to generate pairs of public and private keys.
  KeyPairGeneratorSpi | This class defines the Service Provider Interface (SPI) for the `KeyPairGenerator` class, which is used to generate pairs of public and private keys.
  KeyRep.Type | Key type.
  KeyStore | This class represents a storage facility for cryptographic keys and certificates.
  KeyStore.Builder | A description of a to-be-instantiated KeyStore object.
  KeyStore.Entry | A marker interface for `KeyStore` entry types.
  KeyStore.Entry.Attribute | An attribute associated with a keystore entry.
  KeyStore.LoadStoreParameter | A marker interface for `KeyStore` `load` and `store` parameters.
  KeyStore.ProtectionParameter | A marker interface for keystore protection parameters.
  KeyStoreException | This is the generic KeyStore exception.
  KeyStoreSpi | This class defines the Service Provider Interface (SPI) for the `KeyStore` class.
  MessageDigest | This MessageDigest class provides applications the functionality of a message digest algorithm, such as SHA-1 or SHA-256.
  MessageDigestSpi | This class defines the Service Provider Interface (SPI) for the `MessageDigest` class, which provides the functionality of a message digest algorithm, such as MD5 or SHA.
  NoSuchAlgorithmException | This exception is thrown when a particular cryptographic algorithm is requested but is not available in the environment.
  NoSuchProviderException | This exception is thrown when a particular security provider is requested but is not available in the environment.
  Permission | Abstract class for representing access to a system resource.
  PermissionCollection | Abstract class representing a collection of Permission objects.
  Policy | A Policy object is responsible for determining whether code executing in the Java runtime environment has permission to perform a security-sensitive operation.
  Policy.Parameters | This represents a marker interface for Policy parameters.
  Principal | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.
  PrivateKey | A private key.
  PrivilegedAction | A computation to be performed with privileges enabled.
  PrivilegedActionException | This exception is thrown by `doPrivileged(PrivilegedExceptionAction)` and `doPrivileged(PrivilegedExceptionAction, AccessControlContext context)` to indicate that the action being performed threw a checked exception.
  PrivilegedExceptionAction | A computation to be performed with privileges enabled, that throws one or more checked exceptions.
  ProtectionDomain | The ProtectionDomain class encapsulates the characteristics of a domain, which encloses a set of classes whose instances are granted a set of permissions when being executed on behalf of a given set of Principals.
  Provider | This class represents a "provider" for the Java Security API, where a provider implements some or all parts of Java Security.
  Provider.Service | The description of a security service.
  PublicKey | A public key.
  SecureRandom | This class provides a cryptographically strong random number generator (RNG).
  SecureRandomParameters | A marker interface for parameters used in various `SecureRandom` methods.
  SecureRandomSpi | This class defines the Service Provider Interface (SPI) for the `SecureRandom` class.
  Signature | The Signature class is used to provide applications the functionality of a digital signature algorithm.
  SignatureException | This is the generic Signature exception.
  SignatureSpi | This class defines the Service Provider Interface (SPI) for the `Signature` class, which is used to provide the functionality of a digital signature algorithm.
  Timestamp | This class encapsulates information about a signed timestamp.
  UnrecoverableEntryException | This exception is thrown if an entry in the keystore cannot be recovered.
  UnrecoverableKeyException | This exception is thrown if a key in the keystore cannot be recovered.

- Classes in java.security used by java.security.acl
  Class | Description
  --- | ---
  Principal | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.

- Classes in java.security used by java.security.cert
  Class | Description
  --- | ---
  GeneralSecurityException | The `GeneralSecurityException` class is a generic security exception class that provides type safety for all the security-related exception classes that extend from it.
  InvalidAlgorithmParameterException | This is the exception for invalid or inappropriate algorithm parameters.
  InvalidKeyException | This is the exception for invalid Keys (invalid encoding, wrong length, uninitialized, etc).
  KeyStore | This class represents a storage facility for cryptographic keys and certificates.
  KeyStoreException | This is the generic KeyStore exception.
  NoSuchAlgorithmException | This exception is thrown when a particular cryptographic algorithm is requested but is not available in the environment.
  NoSuchProviderException | This exception is thrown when a particular security provider is requested but is not available in the environment.
  Principal | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.
  Provider | This class represents a "provider" for the Java Security API, where a provider implements some or all parts of Java Security.
  PublicKey | A public key.
  SignatureException | This is the generic Signature exception.

- Classes in java.security used by java.security.interfaces
  Class | Description
  --- | ---
  InvalidParameterException | This exception, designed for use by the JCA/JCE engine classes, is thrown when an invalid parameter is passed to a method.
  Key | The Key interface is the top-level interface for all keys.
  PrivateKey | A private key.
  PublicKey | A public key.
  SecureRandom | This class provides a cryptographically strong random number generator (RNG).

- Classes in java.security used by java.security.spec
  Class | Description
  --- | ---
  GeneralSecurityException | The `GeneralSecurityException` class is a generic security exception class that provides type safety for all the security-related exception classes that extend from it.

- Classes in java.security used by java.sql
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.

- Classes in java.security used by java.util
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.
  PermissionCollection | Abstract class representing a collection of Permission objects.

- Classes in java.security used by java.util.concurrent
  Class | Description
  --- | ---
  PrivilegedAction | A computation to be performed with privileges enabled.
  PrivilegedExceptionAction | A computation to be performed with privileges enabled, that throws one or more checked exceptions.

- Classes in java.security used by java.util.jar
  Class | Description
  --- | ---
  CodeSigner | This class encapsulates information about a code signer.

- Classes in java.security used by java.util.logging
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.

- Classes in java.security used by javax.crypto
  Class | Description
  --- | ---
  AlgorithmParameters | This class is used as an opaque representation of cryptographic parameters.
  GeneralSecurityException | The `GeneralSecurityException` class is a generic security exception class that provides type safety for all the security-related exception classes that extend from it.
  InvalidAlgorithmParameterException | This is the exception for invalid or inappropriate algorithm parameters.
  InvalidKeyException | This is the exception for invalid Keys (invalid encoding, wrong length, uninitialized, etc).
  Key | The Key interface is the top-level interface for all keys.
  NoSuchAlgorithmException | This exception is thrown when a particular cryptographic algorithm is requested but is not available in the environment.
  NoSuchProviderException | This exception is thrown when a particular security provider is requested but is not available in the environment.
  Provider | This class represents a "provider" for the Java Security API, where a provider implements some or all parts of Java Security.
  SecureRandom | This class provides a cryptographically strong random number generator (RNG).

- Classes in java.security used by javax.crypto.interfaces
  Class | Description
  --- | ---
  Key | The Key interface is the top-level interface for all keys.
  PrivateKey | A private key.
  PublicKey | A public key.

- Classes in java.security used by javax.crypto.spec
  Class | Description
  --- | ---
  InvalidKeyException | This is the exception for invalid Keys (invalid encoding, wrong length, uninitialized, etc).
  Key | The Key interface is the top-level interface for all keys.

- Classes in java.security used by javax.management
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.
  PermissionCollection | Abstract class representing a collection of Permission objects.

- Classes in java.security used by javax.management.loading
  Class | Description
  --- | ---
  SecureClassLoader | This class extends ClassLoader with additional support for defining classes with an associated code source and permissions which are retrieved by the system policy by default.

- Classes in java.security used by javax.management.remote
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.
  Principal | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.

- Classes in java.security used by javax.net.ssl
  Class | Description
  --- | ---
  AlgorithmConstraints | This interface specifies constraints for cryptographic algorithms, keys (key sizes), and other algorithm parameters.
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  InvalidAlgorithmParameterException | This is the exception for invalid or inappropriate algorithm parameters.
  KeyManagementException | This is the general key management exception for all operations dealing with key management.
  KeyStore | This class represents a storage facility for cryptographic keys and certificates.
  KeyStore.Builder | A description of a to-be-instantiated KeyStore object.
  KeyStoreException | This is the generic KeyStore exception.
  NoSuchAlgorithmException | This exception is thrown when a particular cryptographic algorithm is requested but is not available in the environment.
  NoSuchProviderException | This exception is thrown when a particular security provider is requested but is not available in the environment.
  Permission | Abstract class for representing access to a system resource.
  Principal | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.
  PrivateKey | A private key.
  Provider | This class represents a "provider" for the Java Security API, where a provider implements some or all parts of Java Security.
  SecureRandom | This class provides a cryptographically strong random number generator (RNG).
  UnrecoverableKeyException | This exception is thrown if a key in the keystore cannot be recovered.

- Classes in java.security used by javax.security.auth
  Class | Description
  --- | ---
  AccessControlContext | An AccessControlContext is used to make system resource access decisions based on the context it encapsulates.
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  CodeSource | This class extends the concept of a codebase to encapsulate not only the location (URL) but also the certificate chains that were used to verify signed code originating from that location.
  DomainCombiner | A `DomainCombiner` provides a means to dynamically update the ProtectionDomains associated with the current `AccessControlContext`.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.
  PermissionCollection | Abstract class representing a collection of Permission objects.
  Principal | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.
  PrivilegedAction | A computation to be performed with privileges enabled.
  PrivilegedActionException | This exception is thrown by `doPrivileged(PrivilegedExceptionAction)` and `doPrivileged(PrivilegedExceptionAction, AccessControlContext context)` to indicate that the action being performed threw a checked exception.
  PrivilegedExceptionAction | A computation to be performed with privileges enabled, that throws one or more checked exceptions.
  ProtectionDomain | The ProtectionDomain class encapsulates the characteristics of a domain, which encloses a set of classes whose instances are granted a set of permissions when being executed on behalf of a given set of Principals.

- Classes in java.security used by javax.security.auth.kerberos
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Key | The Key interface is the top-level interface for all keys.
  Permission | Abstract class for representing access to a system resource.
  PermissionCollection | Abstract class representing a collection of Permission objects.
  Principal | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.

- Classes in java.security used by javax.security.auth.login
  Class | Description
  --- | ---
  GeneralSecurityException | The `GeneralSecurityException` class is a generic security exception class that provides type safety for all the security-related exception classes that extend from it.
  NoSuchAlgorithmException | This exception is thrown when a particular cryptographic algorithm is requested but is not available in the environment.
  NoSuchProviderException | This exception is thrown when a particular security provider is requested but is not available in the environment.
  Provider | This class represents a "provider" for the Java Security API, where a provider implements some or all parts of Java Security.

- Classes in java.security used by javax.security.auth.x500
  Class | Description
  --- | ---
  Principal | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.
  PrivateKey | A private key.

- Classes in java.security used by javax.security.cert
  Class | Description
  --- | ---
  InvalidKeyException | This is the exception for invalid Keys (invalid encoding, wrong length, uninitialized, etc).
  NoSuchAlgorithmException | This exception is thrown when a particular cryptographic algorithm is requested but is not available in the environment.
  NoSuchProviderException | This exception is thrown when a particular security provider is requested but is not available in the environment.
  Principal | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.
  PublicKey | A public key.
  SignatureException | This is the generic Signature exception.

- Classes in java.security used by javax.smartcardio
  Class | Description
  --- | ---
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  NoSuchAlgorithmException | This exception is thrown when a particular cryptographic algorithm is requested but is not available in the environment.
  NoSuchProviderException | This exception is thrown when a particular security provider is requested but is not available in the environment.
  Permission | Abstract class for representing access to a system resource.
  Provider | This class represents a "provider" for the Java Security API, where a provider implements some or all parts of Java Security.

- Classes in java.security used by javax.sound.sampled
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.

- Classes in java.security used by javax.xml.bind
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.

- Classes in java.security used by javax.xml.crypto
  Class | Description
  --- | ---
  Key | The Key interface is the top-level interface for all keys.

- Classes in java.security used by javax.xml.crypto.dsig
  Class | Description
  --- | ---
  InvalidAlgorithmParameterException | This is the exception for invalid or inappropriate algorithm parameters.
  NoSuchAlgorithmException | This exception is thrown when a particular cryptographic algorithm is requested but is not available in the environment.
  NoSuchProviderException | This exception is thrown when a particular security provider is requested but is not available in the environment.
  Provider | This class represents a "provider" for the Java Security API, where a provider implements some or all parts of Java Security.

- Classes in java.security used by javax.xml.crypto.dsig.dom
  Class | Description
  --- | ---
  Key | The Key interface is the top-level interface for all keys.

- Classes in java.security used by javax.xml.crypto.dsig.keyinfo
  Class | Description
  --- | ---
  KeyException | This is the basic key exception.
  NoSuchProviderException | This exception is thrown when a particular security provider is requested but is not available in the environment.
  Provider | This class represents a "provider" for the Java Security API, where a provider implements some or all parts of Java Security.
  PublicKey | A public key.

- Classes in java.security used by javax.xml.ws
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.
  Principal | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.

- Classes in java.security used by javax.xml.ws.spi.http
  Class | Description
  --- | ---
  Principal | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id.

- Classes in java.security used by jdk.net
  Class | Description
  --- | ---
  BasicPermission | The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
  Guard | This interface represents a guard, which is an object that is used to protect access to another object.
  Permission | Abstract class for representing access to a system resource.

- Classes in java.security used by jdk.security.jarsigner
  Class | Description
  --- | ---
  KeyStore.PrivateKeyEntry | A `KeyStore` entry that holds a `PrivateKey` and corresponding certificate chain.
  NoSuchAlgorithmException | This exception is thrown when a particular cryptographic algorithm is requested but is not available in the environment.
  PrivateKey | A private key.
  Provider | This class represents a "provider" for the Java Security API, where a provider implements some or all parts of Java Security.

- Classes in java.security used by org.ietf.jgss
  Class | Description
  --- | ---
  Provider | This class represents a "provider" for the Java Security API, where a provider implements some or all parts of Java Security.