# Uses of Interface
java.security.Principal

Packages that use Principal
Package | Description
--- | ---
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`.
java.net | Provides the classes for implementing networking applications.
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.
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.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.

## Uses of Principal in com.sun.net.httpserver

Classes in com.sun.net.httpserver that implement Principal
Modifier and Type | Class | Description
--- | --- | ---
`class` | `HttpPrincipal` | Represents a user authenticated by HTTP Basic or Digest authentication.

## Uses of Principal in com.sun.security.auth

Classes in com.sun.security.auth that implement Principal
Modifier and Type | Class | Description
--- | --- | ---
`class` | `LdapPrincipal` | A principal identified by a distinguished name as specified by RFC 2253.
`class` | `NTDomainPrincipal` | This class implements the `Principal` interface and represents the name of the Windows NT domain into which the user authenticated.
`class` | `NTSid` | This class implements the `Principal` interface and represents information about a Windows NT user, group or realm.
`class` | `NTSidDomainPrincipal` | This class extends `NTSid` and represents a Windows NT user's domain SID.
`class` | `NTSidGroupPrincipal` | This class extends `NTSid` and represents one of the groups to which a Windows NT user belongs.
`class` | `NTSidPrimaryGroupPrincipal` | This class extends `NTSid` and represents a Windows NT user's primary group SID.
`class` | `NTSidUserPrincipal` | This class extends `NTSid` and represents a Windows NT user's SID.
`class` | `NTUserPrincipal` | This class implements the `Principal` interface and represents a Windows NT user.
`class` | `UnixNumericGroupPrincipal` | This class implements the `Principal` interface and represents a user's Unix group identification number (GID).
`class` | `UnixNumericUserPrincipal` | This class implements the `Principal` interface and represents a user's Unix identification number (UID).
`class` | `UnixPrincipal` | This class implements the `Principal` interface and represents a Unix user.
`class` | `UserPrincipal` | A user principal identified by a username or account name.

## Uses of Principal in java.net

Methods in java.net that return Principal
Modifier and Type | Method | Description
--- | --- | ---
`abstract Principal` | SecureCacheResponse.`getLocalPrincipal()` | Returns the principal that was sent to the server during handshaking in the original connection that retrieved the network resource.
`abstract Principal` | SecureCacheResponse.`getPeerPrincipal()` | Returns the server's principal which was established as part of defining the session during the original connection that retrieved the network resource.

## Uses of Principal in java.nio.file.attribute

Subinterfaces of Principal in java.nio.file.attribute
Modifier and Type | Interface | Description
--- | --- | ---
`interface` | `GroupPrincipal` | A `UserPrincipal` representing a group identity, used to determine access rights to objects in a file system.
`interface` | `UserPrincipal` | A `Principal` representing an identity used to determine access rights to objects in a file system.

## Uses of Principal in java.security

Classes in java.security that implement Principal
Modifier and Type | Class | Description
--- | --- | ---
`class` | `Identity` | Deprecated, for removal: This API element is subject to removal in a future version. This class is deprecated and subject to removal in a future version of Java SE.
`class` | `IdentityScope` | Deprecated, for removal: This API element is subject to removal in a future version. This class is deprecated and subject to removal in a future version of Java SE.
`class` | `Signer` | Deprecated, for removal: This API element is subject to removal in a future version. This class is deprecated and subject to removal in a future version of Java SE.

Methods in java.security that return Principal
Modifier and Type | Method | Description
--- | --- | ---
`Principal` | Certificate.`getGuarantor()` | Deprecated, for removal: This API element is subject to removal in a future version. Returns the guarantor of the certificate, that is, the principal guaranteeing that the public key associated with this certificate is that of the principal associated with this certificate.
`Principal` | Certificate.`getPrincipal()` | Deprecated, for removal: This API element is subject to removal in a future version. Returns the principal of the principal-key pair being guaranteed by the guarantor.
`Principal[]` | ProtectionDomain.`getPrincipals()` | Returns an array of principals for this domain.

Methods in java.security with parameters of type Principal
Modifier and Type | Method | Description
--- | --- | ---
`Identity` | IdentityScope.`getIdentity​(Principal principal)` | Deprecated, for removal: This API element is subject to removal in a future version. Retrieves the identity whose name is the same as that of the specified principal.

Constructors in java.security with parameters of type Principal
Constructor | Description
--- | ---
`ProtectionDomain​(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals)` | Creates a new ProtectionDomain qualified by the given CodeSource, Permissions, ClassLoader and array of Principals.

## Uses of Principal in java.security.acl

Subinterfaces of Principal in java.security.acl
Modifier and Type | Interface | Description
--- | --- | ---
`interface` | `Group` | Deprecated, for removal: This API element is subject to removal in a future version. This class is deprecated and subject to removal in a future version of Java SE.

Methods in java.security.acl that return Principal
Modifier and Type | Method | Description
--- | --- | ---
`Principal` | AclEntry.`getPrincipal()` | Deprecated, for removal: This API element is subject to removal in a future version. Returns the principal for which permissions are granted or denied by this ACL entry.

Methods in java.security.acl that return types with arguments of type Principal
Modifier and Type | Method | Description
--- | --- | ---
`Enumeration<? extends Principal>` | Group.`members()` | Deprecated, for removal: This API element is subject to removal in a future version. Returns an enumeration of the members in the group.

Methods in java.security.acl with parameters of type Principal
Modifier and Type | Method | Description
--- | --- | ---
`boolean` | Acl.`addEntry​(Principal caller, AclEntry entry)` | Deprecated, for removal: This API element is subject to removal in a future version. Adds an ACL entry to this ACL.
`boolean` | Group.`addMember​(Principal user)` | Deprecated, for removal: This API element is subject to removal in a future version. Adds the specified member to the group.
`boolean` | Owner.`addOwner​(Principal caller, Principal owner)` | Deprecated, for removal: This API element is subject to removal in a future version. Adds an owner.
`boolean` | Acl.`checkPermission​(Principal principal, Permission permission)` | Deprecated, for removal: This API element is subject to removal in a future version. Checks whether or not the specified principal has the specified permission.
`boolean` | Owner.`deleteOwner​(Principal caller, Principal owner)` | Deprecated, for removal: This API element is subject to removal in a future version. Deletes an owner.
`Enumeration<Permission>` | Acl.`getPermissions​(Principal user)` | Deprecated, for removal: This API element is subject to removal in a future version. Returns an enumeration for the set of allowed permissions for the specified principal (representing an entity such as an individual or a group).
`boolean` | Group.`isMember​(Principal member)` | Deprecated, for removal: This API element is subject to removal in a future version. Returns true if the passed principal is a member of the group.
`boolean` | Owner.`isOwner​(Principal owner)` | Deprecated, for removal: This API element is subject to removal in a future version. Returns true if the given principal is an owner of the ACL.
`boolean` | Acl.`removeEntry​(Principal caller, AclEntry entry)` | Deprecated, for removal: This API element is subject to removal in a future version. Removes an ACL entry from this ACL.
`boolean` | Group.`removeMember​(Principal user)` | Deprecated, for removal: This API element is subject to removal in a future version. Removes the specified member from the group.
`void` | Acl.`setName​(Principal caller, String name)` | Deprecated, for removal: This API element is subject to removal in a future version. Sets the name of this ACL.
`boolean` | AclEntry.`setPrincipal​(Principal user)` | Deprecated, for removal: This API element is subject to removal in a future version. Specifies the principal for which permissions are granted or denied by this ACL entry.

## Uses of Principal in java.security.cert

Methods in java.security.cert that return Principal
Modifier and Type | Method | Description
--- | --- | ---
`abstract Principal` | X509Certificate.`getIssuerDN()` | Denigrated, replaced by X509Certificate.getIssuerX500Principal().
`abstract Principal` | X509CRL.`getIssuerDN()` | Denigrated, replaced by X509CRL.getIssuerX500Principal().
`abstract Principal` | X509Certificate.`getSubjectDN()` | Denigrated, replaced by X509Certificate.getSubjectX500Principal().

## Uses of Principal in javax.management.remote

Classes in javax.management.remote that implement Principal
Modifier and Type | Class | Description
--- | --- | ---
`class` | `JMXPrincipal` | The identity of a remote client of the JMX Remote API.

## Uses of Principal in javax.net.ssl

Methods in javax.net.ssl that return Principal
Modifier and Type | Method | Description
--- | --- | ---
`Principal` | HandshakeCompletedEvent.`getLocalPrincipal()` | Returns the principal that was sent to the peer during handshaking.
`Principal` | HttpsURLConnection.`getLocalPrincipal()` | Returns the principal that was sent to the server during handshaking.
`Principal` | SSLSession.`getLocalPrincipal()` | Returns the principal that was sent to the peer during handshaking.
`Principal` | HandshakeCompletedEvent.`getPeerPrincipal()` | Returns the identity of the peer which was established as part of defining the session.
`Principal` | HttpsURLConnection.`getPeerPrincipal()` | Returns the server's principal which was established as part of defining the session.
`Principal` | SSLSession.`getPeerPrincipal()` | Returns the identity of the peer which was established as part of defining the session.

Methods in javax.net.ssl with parameters of type Principal
Modifier and Type | Method | Description
--- | --- | ---
`String` | X509KeyManager.`chooseClientAlias​(String[] keyType, Principal[] issuers, Socket socket)` | Choose an alias to authenticate the client side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).
`String` | X509ExtendedKeyManager.`chooseEngineClientAlias​(String[] keyType, Principal[] issuers, SSLEngine engine)` | Choose an alias to authenticate the client side of an `SSLEngine` connection given the public key type and the list of certificate issuer authorities recognized by the peer (if any).
`String` | X509ExtendedKeyManager.`chooseEngineServerAlias​(String keyType, Principal[] issuers, SSLEngine engine)` | Choose an alias to authenticate the server side of an `SSLEngine` connection given the public key type and the list of certificate issuer authorities recognized by the peer (if any).
`String` | X509KeyManager.`chooseServerAlias​(String keyType, Principal[] issuers, Socket socket)` | Choose an alias to authenticate the server side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).
`String[]` | X509KeyManager.`getClientAliases​(String keyType, Principal[] issuers)` | Get the matching aliases for authenticating the client side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).
`String[]` | X509KeyManager.`getServerAliases​(String keyType, Principal[] issuers)` | Get the matching aliases for authenticating the server side of a secure socket given the public key type and the list of certificate issuer authorities recognized by the peer (if any).

## Uses of Principal in javax.security.auth

Methods in javax.security.auth with type parameters of type Principal
Modifier and Type | Method | Description
--- | --- | ---
`<T extends Principal> Set<T>` | Subject.`getPrincipals​(Class<T> c)` | Return a `Set` of Principals associated with this `Subject` that are instances or subclasses of the specified `Class`.

Methods in javax.security.auth that return types with arguments of type Principal
Modifier and Type | Method | Description
--- | --- | ---
`Set<Principal>` | Subject.`getPrincipals()` | Return the `Set` of Principals associated with this `Subject`.

Constructor parameters in javax.security.auth with type arguments of type Principal
Constructor | Description
--- | ---
`Subject​(boolean readOnly, Set<? extends Principal> principals, Set<?> pubCredentials, Set<?> privCredentials)` | Create an instance of a `Subject` with Principals and credentials.

## Uses of Principal in javax.security.auth.kerberos

Classes in javax.security.auth.kerberos that implement Principal
Modifier and Type | Class | Description
--- | --- | ---
`class` | `KerberosPrincipal` | This class encapsulates a Kerberos principal.

## Uses of Principal in javax.security.auth.x500

Classes in javax.security.auth.x500 that implement Principal
Modifier and Type | Class | Description
--- | --- | ---
`class` | `X500Principal` | This class represents an X.500 `Principal`.

## Uses of Principal in javax.security.cert

Methods in javax.security.cert that return Principal
Modifier and Type | Method | Description
--- | --- | ---
`abstract Principal` | X509Certificate.`getIssuerDN()` | Deprecated, for removal: This API element is subject to removal in a future version. Gets the `issuer` (issuer distinguished name) value from the certificate.
`abstract Principal` | X509Certificate.`getSubjectDN()` | Deprecated, for removal: This API element is subject to removal in a future version. Gets the `subject` (subject distinguished name) value from the certificate.