Package org.globus.gsi.gssapi

# Class JaasGssUtil

java.lang.Object
org.globus.gsi.gssapi.JaasGssUtil

public class JaasGssUtil extends Object
An utility class for handling JAAS Subject with GSSCredential.

## Constructor Summary

Constructors
Constructor
Description
`JaasGssUtil()`

## Method Summary

Modifier and Type
Method
Description
`static Subject`
`createSubject(GSSCredential cred)`
Creates a new `Subject` object from specified `GSSCredential`.
`static Subject`
`createSubject(GSSName name, GSSCredential cred)`
Creates a new `Subject` object from specified `GSSCredential` and `GSSName`.
`static GSSCredential`
`getCredential(Subject subject)`
Retrieves the first `GSSCredential` from the private credential set of the specified `Subject` object.
`static GlobusPrincipal`
`toGlobusPrincipal(GSSName name)`
Converts the specified GSSName to GlobusPrincipal.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### JaasGssUtil

public JaasGssUtil()

## Method Details

### createSubject

public static Subject createSubject(GSSCredential cred) throws GSSException
Creates a new `Subject` object from specified `GSSCredential`. The GSSCredential is added to the private credential set of the Subject object. Also, if the GSSCredential.getName() is of type `org.globus.gsi.gssapi.GlobusGSSName` a `org.globus.gsi.jaas.GlobusPrincipal` is added to the principals set of the Subject object.

Throws:
  `GSSException`

### createSubject

public static Subject createSubject(GSSName name, GSSCredential cred) throws GSSException
Creates a new `Subject` object from specified `GSSCredential` and `GSSName`. If the GSSCredential is specified it is added to the private credential set of the Subject object. Also, if the GSSCredential.getName() is of type `org.globus.gsi.gssapi.GlobusGSSName` and the GSSName parameter was not specified a `org.globus.gsi.jaas.GlobusPrincipal` is added to the principals set of the Subject object. If the GSSName parameter was specified of type `org.globus.gsi.gssapi.GlobusGSSName` a `org.globus.gsi.jaas.GlobusPrincipal` is added to the principals set of the Subject object.

Throws:
  `GSSException`

### toGlobusPrincipal

public static GlobusPrincipal toGlobusPrincipal(GSSName name)
Converts the specified GSSName to GlobusPrincipal. The GSSName is converted into the GlobusPrincipal only if the GSSName is of type `org.globus.gsi.gssapi.GlobusGSSName` and the name is not anonymous.

### getCredential

public static GSSCredential getCredential(Subject subject)
Retrieves the first `GSSCredential` from the private credential set of the specified `Subject` object.

Returns:
  the `GSSCredential`. Might be null.