code: @Nonnull
    public static KeyStore loadKeyStoreDirect (@Nonnull final IKeyStoreType aKeyStoreType,
                                               @Nonnull final String sKeyStorePath,
                                               @Nullable final char [] aKeyStorePassword) throws GeneralSecurityException,
                                                                                          IOException
    {
      ValueEnforcer.notNull (aKeyStoreType, "KeyStoreType");
      ValueEnforcer.notNull (sKeyStorePath, "KeyStorePath");
  
      // Open the resource stream
      final InputStream aIS = getResourceProvider ().getInputStream (sKeyStorePath);
      if (aIS == null)
        throw new IllegalArgumentException ("Failed to open key store '" + sKeyStorePath + "'");
  
      try
      {
        final KeyStore aKeyStore = aKeyStoreType.getKeyStore ();
        aKeyStore.load (aIS, aKeyStorePassword);
        return aKeyStore;
      }
      catch (final KeyStoreException ex)
      {
        throw new IllegalStateException ("No provider can handle key stores of type " + aKeyStoreType, ex);
      }
      finally
      {
        StreamHelper.close (aIS);
      }
    }
docs: Load a key store from a resource.
  
  @param aKeyStoreType
  Type of key store. May not be <code>null</code>.
  @param sKeyStorePath
  The path pointing to the key store. May not be <code>null</code>.
  @param aKeyStorePassword
  The key store password. May be <code>null</code> to indicate that no
  password is required.
  @return The Java key-store object.
  @see KeyStore#load(InputStream, char[])
  @throws GeneralSecurityException
  In case of a key store error
  @throws IOException
  In case key store loading fails
  @throws IllegalArgumentException
  If the key store path is invalid