# Class GSSUtil

java.lang.Object
com.sun.security.jgss.GSSUtil

public class GSSUtil extends Object
GSS-API Utilities for use in conjunction with the JDK implementation of Java GSS-API.

Since:
  1.4

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static Subject`
  `createSubject(GSSName principals, GSSCredential credentials)`
  Use this method to convert a `GSSName` and `GSSCredential` into a `Subject`.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Method Details

  - ### createSubject

    public static Subject createSubject(GSSName principals, GSSCredential credentials)
    Use this method to convert a `GSSName` and `GSSCredential` into a `Subject`. Typically this would be used by a server that wants to impersonate a client. The elements from the `GSSName` are placed in the principals set of this `Subject` and those from the `GSSCredential` are placed in the private credentials set of the `Subject`. Any Kerberos specific elements that are added to the subject will be instances of the standard Kerberos implementation classes defined in `javax.security.auth.kerberos`.
    Parameters:
      `principals` - a `GSSName` containing one or more mechanism specific representations of the same entity. These mechanism specific representations will be populated in the returned `Subject`'s principal set.
      `credentials` - a `GSSCredential` containing one or more mechanism specific credentials for the same entity. These mechanism specific credentials will be populated in the returned `Subject`'s private credential set. Passing in a value of `null` will imply that the private credential set should be left empty.
    Returns:
      a `Subject` with the entries that contain elements from the given `GSSName` and `GSSCredential`.