Interface PqcComponentBuilderFactory.PqcComponentBuilder

All Superinterfaces:
ComponentBuilder<org.apache.camel.component.pqc.PQCComponent>
All Known Implementing Classes:
PqcComponentBuilderFactory.PqcComponentBuilderImpl
Enclosing interface:
PqcComponentBuilderFactory

public static interface PqcComponentBuilderFactory.PqcComponentBuilder extends ComponentBuilder<org.apache.camel.component.pqc.PQCComponent>
Builder for the PQC Algorithms component.
  • Method Details

    • configuration

      default PqcComponentBuilderFactory.PqcComponentBuilder configuration(org.apache.camel.component.pqc.PQCConfiguration configuration)
      Component configuration. The option is a: <code>org.apache.camel.component.pqc.PQCConfiguration</code> type. Group: producer
      Parameters:
      configuration - the value to set
      Returns:
      the dsl builder
    • lazyStartProducer

      default PqcComponentBuilderFactory.PqcComponentBuilder lazyStartProducer(boolean lazyStartProducer)
      Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. The option is a: <code>boolean</code> type. Default: false Group: producer
      Parameters:
      lazyStartProducer - the value to set
      Returns:
      the dsl builder
    • operation

      default PqcComponentBuilderFactory.PqcComponentBuilder operation(org.apache.camel.component.pqc.PQCOperations operation)
      The operation to perform. The option is a: <code>org.apache.camel.component.pqc.PQCOperations</code> type. Group: producer
      Parameters:
      operation - the value to set
      Returns:
      the dsl builder
    • autowiredEnabled

      default PqcComponentBuilderFactory.PqcComponentBuilder autowiredEnabled(boolean autowiredEnabled)
      Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. The option is a: <code>boolean</code> type. Default: true Group: advanced
      Parameters:
      autowiredEnabled - the value to set
      Returns:
      the dsl builder
    • classicalKEMAlgorithm

      default PqcComponentBuilderFactory.PqcComponentBuilder classicalKEMAlgorithm(String classicalKEMAlgorithm)
      The classical key agreement algorithm to use in hybrid KEM operations. The option is a: <code>java.lang.String</code> type. Group: advanced
      Parameters:
      classicalKEMAlgorithm - the value to set
      Returns:
      the dsl builder
    • classicalKeyAgreement

      default PqcComponentBuilderFactory.PqcComponentBuilder classicalKeyAgreement(KeyAgreement classicalKeyAgreement)
      The classical KeyAgreement instance to be used in hybrid KEM operations. The option is a: <code>javax.crypto.KeyAgreement</code> type. Group: advanced
      Parameters:
      classicalKeyAgreement - the value to set
      Returns:
      the dsl builder
    • classicalKeyPair

      default PqcComponentBuilderFactory.PqcComponentBuilder classicalKeyPair(KeyPair classicalKeyPair)
      The classical KeyPair to be used in hybrid operations. The option is a: <code>java.security.KeyPair</code> type. Group: advanced
      Parameters:
      classicalKeyPair - the value to set
      Returns:
      the dsl builder
    • classicalSignatureAlgorithm

      default PqcComponentBuilderFactory.PqcComponentBuilder classicalSignatureAlgorithm(String classicalSignatureAlgorithm)
      The classical signature algorithm to use in hybrid operations. The option is a: <code>java.lang.String</code> type. Group: advanced
      Parameters:
      classicalSignatureAlgorithm - the value to set
      Returns:
      the dsl builder
    • classicalSigner

      default PqcComponentBuilderFactory.PqcComponentBuilder classicalSigner(Signature classicalSigner)
      The classical Signature instance to be used in hybrid signature operations. The option is a: <code>java.security.Signature</code> type. Group: advanced
      Parameters:
      classicalSigner - the value to set
      Returns:
      the dsl builder
    • hybridKdfAlgorithm

      default PqcComponentBuilderFactory.PqcComponentBuilder hybridKdfAlgorithm(String hybridKdfAlgorithm)
      The KDF algorithm to use for combining secrets in hybrid KEM operations. The option is a: <code>java.lang.String</code> type. Default: HKDF-SHA256 Group: advanced
      Parameters:
      hybridKdfAlgorithm - the value to set
      Returns:
      the dsl builder
    • keyEncapsulationAlgorithm

      default PqcComponentBuilderFactory.PqcComponentBuilder keyEncapsulationAlgorithm(String keyEncapsulationAlgorithm)
      In case there is no keyGenerator, we specify an algorithm to build the KeyGenerator. The option is a: <code>java.lang.String</code> type. Group: advanced
      Parameters:
      keyEncapsulationAlgorithm - the value to set
      Returns:
      the dsl builder
    • keyGenerator

      default PqcComponentBuilderFactory.PqcComponentBuilder keyGenerator(KeyGenerator keyGenerator)
      The Key Generator to be used in encapsulation and extraction. The option is a: <code>javax.crypto.KeyGenerator</code> type. Group: advanced
      Parameters:
      keyGenerator - the value to set
      Returns:
      the dsl builder
    • keyLifecycleManager

      default PqcComponentBuilderFactory.PqcComponentBuilder keyLifecycleManager(org.apache.camel.component.pqc.lifecycle.KeyLifecycleManager keyLifecycleManager)
      The KeyLifecycleManager to use for key lifecycle operations such as generation, rotation, import/export, expiration, and revocation. The option is a: <code>org.apache.camel.component.pqc.lifecycle.KeyLifecycleManager</code> type. Group: advanced
      Parameters:
      keyLifecycleManager - the value to set
      Returns:
      the dsl builder
    • keyPair

      The KeyPair to be used. The option is a: <code>java.security.KeyPair</code> type. Group: advanced
      Parameters:
      keyPair - the value to set
      Returns:
      the dsl builder
    • keyPairAlias

      default PqcComponentBuilderFactory.PqcComponentBuilder keyPairAlias(String keyPairAlias)
      A KeyPair alias to use in combination with KeyStore parameter. The option is a: <code>java.lang.String</code> type. Group: advanced
      Parameters:
      keyPairAlias - the value to set
      Returns:
      the dsl builder
    • keyStore

      A KeyStore where we could get Cryptographic material. The option is a: <code>java.security.KeyStore</code> type. Group: advanced
      Parameters:
      keyStore - the value to set
      Returns:
      the dsl builder
    • keyStorePassword

      default PqcComponentBuilderFactory.PqcComponentBuilder keyStorePassword(String keyStorePassword)
      The KeyStore password to use in combination with KeyStore Parameter. The option is a: <code>java.lang.String</code> type. Group: advanced
      Parameters:
      keyStorePassword - the value to set
      Returns:
      the dsl builder
    • signatureAlgorithm

      default PqcComponentBuilderFactory.PqcComponentBuilder signatureAlgorithm(String signatureAlgorithm)
      In case there is no signer, we specify an algorithm to build the KeyPair or the Signer. The option is a: <code>java.lang.String</code> type. Group: advanced
      Parameters:
      signatureAlgorithm - the value to set
      Returns:
      the dsl builder
    • signer

      The Signer to be used. The option is a: <code>java.security.Signature</code> type. Group: advanced
      Parameters:
      signer - the value to set
      Returns:
      the dsl builder
    • statefulKeyWarningThreshold

      default PqcComponentBuilderFactory.PqcComponentBuilder statefulKeyWarningThreshold(double statefulKeyWarningThreshold)
      The warning threshold for stateful key exhaustion as a fraction of total signatures (0.0 to 1.0). When the remaining signatures for a stateful key (XMSS, XMSSMT, LMS/HSS) drop below this fraction of the total capacity, a WARN log is emitted. When remaining signatures reach zero, an exception is thrown to prevent key reuse. Set to 0 to disable warnings. The option is a: <code>double</code> type. Default: 0.1 Group: advanced
      Parameters:
      statefulKeyWarningThreshold - the value to set
      Returns:
      the dsl builder
    • storeExtractedSecretKeyAsHeader

      default PqcComponentBuilderFactory.PqcComponentBuilder storeExtractedSecretKeyAsHeader(boolean storeExtractedSecretKeyAsHeader)
      In the context of extractSecretKeyFromEncapsulation operation, this option define if we want to have the key set as header. The option is a: <code>boolean</code> type. Default: false Group: advanced
      Parameters:
      storeExtractedSecretKeyAsHeader - the value to set
      Returns:
      the dsl builder
    • strictKeyLifecycle

      default PqcComponentBuilderFactory.PqcComponentBuilder strictKeyLifecycle(boolean strictKeyLifecycle)
      Whether to enforce key status checks before cryptographic operations. When enabled, REVOKED keys are rejected for all operations, EXPIRED keys are rejected for signing/encapsulation but allowed for verification/extraction, and DEPRECATED keys produce a warning but still function. Requires a KeyLifecycleManager and a CamelPQCKeyId header to be set. The option is a: <code>boolean</code> type. Default: true Group: advanced
      Parameters:
      strictKeyLifecycle - the value to set
      Returns:
      the dsl builder
    • symmetricKeyAlgorithm

      default PqcComponentBuilderFactory.PqcComponentBuilder symmetricKeyAlgorithm(String symmetricKeyAlgorithm)
      In case we are using KEM operations, we need a Symmetric algorithm to be defined for the flow to work. The option is a: <code>java.lang.String</code> type. Group: advanced
      Parameters:
      symmetricKeyAlgorithm - the value to set
      Returns:
      the dsl builder
    • symmetricKeyLength

      default PqcComponentBuilderFactory.PqcComponentBuilder symmetricKeyLength(int symmetricKeyLength)
      The required length of the symmetric key used. The option is a: <code>int</code> type. Default: 128 Group: advanced
      Parameters:
      symmetricKeyLength - the value to set
      Returns:
      the dsl builder
    • healthCheckConsumerEnabled

      default PqcComponentBuilderFactory.PqcComponentBuilder healthCheckConsumerEnabled(boolean healthCheckConsumerEnabled)
      Used for enabling or disabling all consumer based health checks from this component. The option is a: <code>boolean</code> type. Default: true Group: health
      Parameters:
      healthCheckConsumerEnabled - the value to set
      Returns:
      the dsl builder
    • healthCheckProducerEnabled

      default PqcComponentBuilderFactory.PqcComponentBuilder healthCheckProducerEnabled(boolean healthCheckProducerEnabled)
      Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on producer checks globally by setting camel.health.producersEnabled=true. The option is a: <code>boolean</code> type. Default: true Group: health
      Parameters:
      healthCheckProducerEnabled - the value to set
      Returns:
      the dsl builder