content: /*
   * Licensed to the Apache Software Foundation (ASF) under one or more
   * contributor license agreements.  See the NOTICE file distributed with
   * this work for additional information regarding copyright ownership.
   * The ASF licenses this file to You under the Apache License, Version 2.0
   * (the "License"); you may not use this file except in compliance with
   * the License.  You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.camel.dataformat.xmlsecurity.springboot;
  
  import java.util.Map;
  import org.apache.camel.spring.boot.DataFormatConfigurationPropertiesCommon;
  import org.springframework.boot.context.properties.ConfigurationProperties;
  
  /**
   * Encrypt and decrypt XML payloads using Apache Santuario.
   * 
   * Generated by camel-package-maven-plugin - do not edit this file!
   */
  @ConfigurationProperties(prefix = "camel.dataformat.xml-security")
  public class XMLSecurityDataFormatConfiguration
          extends
              DataFormatConfigurationPropertiesCommon {
  
      /**
       * Whether to enable auto configuration of the xmlSecurity data format. This
       * is enabled by default.
       */
      private Boolean enabled;
      /**
       * The cipher algorithm to be used for encryption/decryption of the XML
       * message content. The available choices are: XMLCipher.TRIPLEDES
       * XMLCipher.AES_128 XMLCipher.AES_128_GCM XMLCipher.AES_192
       * XMLCipher.AES_192_GCM XMLCipher.AES_256 XMLCipher.AES_256_GCM
       * XMLCipher.SEED_128 XMLCipher.CAMELLIA_128 XMLCipher.CAMELLIA_192
       * XMLCipher.CAMELLIA_256 The default value is XMLCipher.AES_256_GCM
       */
      private String xmlCipherAlgorithm = "AES-256-GCM";
      /**
       * A String used as passPhrase to encrypt/decrypt content. The passPhrase
       * has to be provided. The passPhrase needs to be put together in
       * conjunction with the appropriate encryption algorithm. For example using
       * TRIPLEDES the passPhase can be a Only another 24 Byte key
       */
      private String passPhrase;
      /**
       * A byte used as passPhrase to encrypt/decrypt content. The passPhrase has
       * to be provided. The passPhrase needs to be put together in conjunction
       * with the appropriate encryption algorithm. For example using TRIPLEDES
       * the passPhase can be a Only another 24 Byte key
       */
      private byte[] passPhraseByte;
      /**
       * The XPath reference to the XML Element selected for
       * encryption/decryption. If no tag is specified, the entire payload is
       * encrypted/decrypted.
       */
      private String secureTag;
      /**
       * A boolean value to specify whether the XML Element is to be encrypted or
       * the contents of the XML Element. false = Element Level. true = Element
       * Content Level.
       */
      private Boolean secureTagContents = false;
      /**
       * The cipher algorithm to be used for encryption/decryption of the
       * asymmetric key. The available choices are: XMLCipher.RSA_v1dot5
       * XMLCipher.RSA_OAEP XMLCipher.RSA_OAEP_11 The default value is
       * XMLCipher.RSA_OAEP
       */
      private String keyCipherAlgorithm = "RSA_OAEP";
      /**
       * The key alias to be used when retrieving the recipient's public or
       * private key from a KeyStore when performing asymmetric key encryption or
       * decryption.
       */
      private String recipientKeyAlias;
      /**
       * Refers to a KeyStore instance to lookup in the registry, which is used
       * for configuration options for creating and loading a KeyStore instance
       * that represents the sender's trustStore or recipient's keyStore. The
       * option is a org.apache.camel.support.jsse.KeyStoreParameters type.
       */
      private String keyOrTrustStoreParameters;
      /**
       * The password to be used for retrieving the private key from the KeyStore.
       * This key is used for asymmetric decryption.
       */
      private String keyPassword;
      /**
       * The digest algorithm to use with the RSA OAEP algorithm. The available
       * choices are: XMLCipher.SHA1 XMLCipher.SHA256 XMLCipher.SHA512 The default
       * value is XMLCipher.SHA1
       */
      private String digestAlgorithm = "SHA1";
      /**
       * The MGF Algorithm to use with the RSA OAEP algorithm. The available
       * choices are: EncryptionConstants.MGF1_SHA1
       * EncryptionConstants.MGF1_SHA256 EncryptionConstants.MGF1_SHA512 The
       * default value is EncryptionConstants.MGF1_SHA1
       */
      private String mgfAlgorithm = "MGF1_SHA1";
      /**
       * Whether to add the public key used to encrypt the session key as a
       * KeyValue in the EncryptedKey structure or not.
       */
      private Boolean addKeyValueForEncryptedKey = true;
      /**
       * Refers to a Map XML Namespaces of prefix - uri mappings
       */
      private Map namespace;
  
      public String getXmlCipherAlgorithm() {
          return xmlCipherAlgorithm;
      }
  
      public void setXmlCipherAlgorithm(String xmlCipherAlgorithm) {
          this.xmlCipherAlgorithm = xmlCipherAlgorithm;
      }
  
      public String getPassPhrase() {
          return passPhrase;
      }
  
      public void setPassPhrase(String passPhrase) {
          this.passPhrase = passPhrase;
      }
  
      public byte[] getPassPhraseByte() {
          return passPhraseByte;
      }
  
      public void setPassPhraseByte(byte[] passPhraseByte) {
          this.passPhraseByte = passPhraseByte;
      }
  
      public String getSecureTag() {
          return secureTag;
      }
  
      public void setSecureTag(String secureTag) {
          this.secureTag = secureTag;
      }
  
      public Boolean getSecureTagContents() {
          return secureTagContents;
      }
  
      public void setSecureTagContents(Boolean secureTagContents) {
          this.secureTagContents = secureTagContents;
      }
  
      public String getKeyCipherAlgorithm() {
          return keyCipherAlgorithm;
      }
  
      public void setKeyCipherAlgorithm(String keyCipherAlgorithm) {
          this.keyCipherAlgorithm = keyCipherAlgorithm;
      }
  
      public String getRecipientKeyAlias() {
          return recipientKeyAlias;
      }
  
      public void setRecipientKeyAlias(String recipientKeyAlias) {
          this.recipientKeyAlias = recipientKeyAlias;
      }
  
      public String getKeyOrTrustStoreParameters() {
          return keyOrTrustStoreParameters;
      }
  
      public void setKeyOrTrustStoreParameters(String keyOrTrustStoreParameters) {
          this.keyOrTrustStoreParameters = keyOrTrustStoreParameters;
      }
  
      public String getKeyPassword() {
          return keyPassword;
      }
  
      public void setKeyPassword(String keyPassword) {
          this.keyPassword = keyPassword;
      }
  
      public String getDigestAlgorithm() {
          return digestAlgorithm;
      }
  
      public void setDigestAlgorithm(String digestAlgorithm) {
          this.digestAlgorithm = digestAlgorithm;
      }
  
      public String getMgfAlgorithm() {
          return mgfAlgorithm;
      }
  
      public void setMgfAlgorithm(String mgfAlgorithm) {
          this.mgfAlgorithm = mgfAlgorithm;
      }
  
      public Boolean getAddKeyValueForEncryptedKey() {
          return addKeyValueForEncryptedKey;
      }
  
      public void setAddKeyValueForEncryptedKey(Boolean addKeyValueForEncryptedKey) {
          this.addKeyValueForEncryptedKey = addKeyValueForEncryptedKey;
      }
  
      public Map getNamespace() {
          return namespace;
      }
  
      public void setNamespace(Map namespace) {
          this.namespace = namespace;
      }
  }