Package org.postgresql.ssl

# Class PKCS12KeyManager

java.lang.Object
org.postgresql.ssl.PKCS12KeyManager

All Implemented Interfaces:
  `KeyManager`, `X509KeyManager`

public class PKCS12KeyManager extends Object implements X509KeyManager

## Constructor Summary

Constructors
Constructor
Description
`PKCS12KeyManager(String pkcsFile, CallbackHandler cbh)`

## Method Summary

Modifier and Type
Method
Description
`@Nullable String`
`chooseClientAlias(String[] keyType, Principal @Nullable [] principals, @Nullable Socket socket)`
`@Nullable String`
`chooseServerAlias(String s, Principal @Nullable [] principals, @Nullable Socket socket)`
`X509Certificate @Nullable []`
`getCertificateChain(String alias)`
`String @Nullable []`
`getClientAliases(String keyType, Principal @Nullable [] principals)`
`@Nullable PrivateKey`
`getPrivateKey(String s)`
`String @Nullable []`
`getServerAliases(String s, Principal @Nullable [] principals)`
`void`
`throwKeyManagerException()`
getCertificateChain and getPrivateKey cannot throw exceptions, therefore any exception is stored in `error` and can be raised by this method.

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

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

## Constructor Details

### PKCS12KeyManager

public PKCS12KeyManager(String pkcsFile, CallbackHandler cbh) throws PSQLException

Throws:
  `PSQLException`

## Method Details

### throwKeyManagerException

public void throwKeyManagerException() throws PSQLException
getCertificateChain and getPrivateKey cannot throw exceptions, therefore any exception is stored in `error` and can be raised by this method.

Throws:
  `PSQLException` - if any exception is stored in `error` and can be raised

### getClientAliases

public String @Nullable [] getClientAliases(String keyType, Principal @Nullable [] principals)

Specified by:
  `getClientAliases` in interface `X509KeyManager`

### chooseClientAlias

public @Nullable String chooseClientAlias(String[] keyType, Principal @Nullable [] principals, @Nullable Socket socket)

Specified by:
  `chooseClientAlias` in interface `X509KeyManager`

### getServerAliases

public String @Nullable [] getServerAliases(String s, Principal @Nullable [] principals)

Specified by:
  `getServerAliases` in interface `X509KeyManager`

### chooseServerAlias

public @Nullable String chooseServerAlias(String s, Principal @Nullable [] principals, @Nullable Socket socket)

Specified by:
  `chooseServerAlias` in interface `X509KeyManager`

### getCertificateChain

public X509Certificate @Nullable [] getCertificateChain(String alias)

Specified by:
  `getCertificateChain` in interface `X509KeyManager`

### getPrivateKey

public @Nullable PrivateKey getPrivateKey(String s)

Specified by:
  `getPrivateKey` in interface `X509KeyManager`