Package org.italiangrid.voms.util

# Class CredentialsUtils

java.lang.Object
org.italiangrid.voms.util.CredentialsUtils

public class CredentialsUtils extends Object
An utility class for handling credentials

Author:
  Daniele Andreotti, Andrea Ceccanti

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`CredentialsUtils.PrivateKeyEncoding`
The encoding used to serialize proxy credentials private key.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final CredentialsUtils.PrivateKeyEncoding`
`DEFAULT_ENCONDING`
The default encoding used when no encoding is specified by callers.

## Constructor Summary

Constructors
Constructor
Description
`CredentialsUtils()`

## Method Summary

Modifier and Type
Method
Description
`static void`
`savePrivateKey(OutputStream os, PrivateKey key, CredentialsUtils.PrivateKeyEncoding encoding)`
Serializes a private key to an output stream according to an encoding.
`static void`
`saveProxyCredentials(OutputStream os, eu.emi.security.authn.x509.X509Credential uc)`
Saves user credentials as a plain text PEM data.
`static void`
`saveProxyCredentials(OutputStream os, eu.emi.security.authn.x509.X509Credential uc, CredentialsUtils.PrivateKeyEncoding encoding)`
Saves user credentials as a plain text PEM data.
`static void`
`saveProxyCredentials(String proxyFileName, eu.emi.security.authn.x509.X509Credential uc)`
Saves proxy credentials to a file.
`static void`
`saveProxyCredentials(String proxyFileName, eu.emi.security.authn.x509.X509Credential uc, CredentialsUtils.PrivateKeyEncoding encoding)`
Saves proxy credentials to a file.

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

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

## Field Details

### DEFAULT_ENCONDING

public static final CredentialsUtils.PrivateKeyEncoding DEFAULT_ENCONDING
The default encoding used when no encoding is specified by callers.

## Constructor Details

### CredentialsUtils

public CredentialsUtils()

## Method Details

### savePrivateKey

public static void savePrivateKey(OutputStream os, PrivateKey key, CredentialsUtils.PrivateKeyEncoding encoding) throws IOException
Serializes a private key to an output stream according to an encoding.

Parameters:
  `os` - the target output stream
  `key` - the key to be serialized
  `encoding` - the encoding
Throws:
  `IllegalArgumentException` - for unsupported private key encodings
  `IOException` - if write fails for any reason on the output stream

### saveProxyCredentials

public static void saveProxyCredentials(OutputStream os, eu.emi.security.authn.x509.X509Credential uc, CredentialsUtils.PrivateKeyEncoding encoding) throws IOException
Saves user credentials as a plain text PEM data.
Writes the user certificate chain first, then the user key.

Parameters:
  `os` - the output stream
  `uc` - the user credential that must be serialized
  `encoding` - the private key encoding
Throws:
  `IOException` - in case of errors writing on the output stream

### saveProxyCredentials

public static void saveProxyCredentials(OutputStream os, eu.emi.security.authn.x509.X509Credential uc) throws IOException
Saves user credentials as a plain text PEM data.
Writes the user certificate chain first, then the user key, using the default encoding specified in `DEFAULT_ENCONDING`.

Parameters:
  `os` - the output stream for the saved proxy
  `uc` - the user credential
Throws:
  `IOException` - in case of errors writing to the output stream

### saveProxyCredentials

public static void saveProxyCredentials(String proxyFileName, eu.emi.security.authn.x509.X509Credential uc, CredentialsUtils.PrivateKeyEncoding encoding) throws IOException
Saves proxy credentials to a file. This method ensures that the stored proxy is saved with the appropriate file permissions.

Parameters:
  `proxyFileName` - the file where the proxy will be saved
  `uc` - the credential to be saved
  `encoding` - the private key encoding
Throws:
  `IOException` - in case of errors writing to the proxy file

### saveProxyCredentials

public static void saveProxyCredentials(String proxyFileName, eu.emi.security.authn.x509.X509Credential uc) throws IOException
Saves proxy credentials to a file. This method ensures that the stored proxy is saved with the appropriate file permissions, using the default encoding specified in `DEFAULT_ENCONDING`.

Parameters:
  `proxyFileName` - the file where the proxy will be saved
  `uc` - the credential to be saved
Throws:
  `IOException` - in case of errors writing the credential to the proxy file