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`