Package ru.chervoniy

Class EsiaSignerBuilder

java.lang.Object
ru.chervoniy.EsiaSignerBuilder

public class EsiaSignerBuilder extends Object
  • Constructor Details

    • EsiaSignerBuilder

      public EsiaSignerBuilder()
  • Method Details

    • signingAlgorithmSupplier

      public EsiaSignerBuilder signingAlgorithmSupplier(Supplier<String> signingAlgorithmSupplier)
      Parameters:
      signingAlgorithmSupplier - signature algorithm, default = "GOST3411-2012-256WITHECGOST3410-2012-256"
      Returns:
      this
    • signatureProviderSupplier

      public EsiaSignerBuilder signatureProviderSupplier(Supplier<String> signatureProviderSupplier)
      Parameters:
      signatureProviderSupplier - signature algorithm, default = "BC"
      Returns:
      this
    • keyStoreSupplier

      public EsiaSignerBuilder keyStoreSupplier(Supplier<KeyStore> keyStoreSupplier)
      Keystore supplier example:
      
       Supplier<KeyStore> keystoreSupplier = () -> {
            try (InputStream stream = new FileInputStream("path/to/keystore.p12")) {
                KeyStore store = KeyStore.getInstance("PKCS12");
                store.load(stream, "p@ssword".toCharArray());
                return store;
            } catch (Exception e) {
                log.error("Keystore loading error", e);
                throw new RuntimeException(e);
            }
       };
       
      Parameters:
      keyStoreSupplier - key store supplier
      Returns:
      this
    • signingCertificateAliasSupplier

      public EsiaSignerBuilder signingCertificateAliasSupplier(Supplier<String> signingCertificateAliasSupplier)
      Parameters:
      signingCertificateAliasSupplier - certificate alias for signing, which is located in keystore from keyStoreSupplier
      Returns:
      this
    • privateKeyPasswordSupplier

      public EsiaSignerBuilder privateKeyPasswordSupplier(Supplier<String> privateKeyPasswordSupplier)
      Parameters:
      privateKeyPasswordSupplier - password for private key which is located in keystore from keyStoreSupplier and using for sign
      Returns:
      this
    • detachedFlagSupplier

      public EsiaSignerBuilder detachedFlagSupplier(Supplier<Boolean> detachedFlagSupplier)
      Parameters:
      detachedFlagSupplier - signature detached flag, default = true
      Returns:
      this
    • build

      public EsiaSigner build()