<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-cipher-nar</artifactId><version>2.2.0</version><parentNar><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-shared-nar</artifactId><version>2.2.0</version></parentNar><systemApiVersion>2.0.0</systemApiVersion><buildInfo><tag>rel/nifi-2.2.0</tag><branch>main</branch><revision>1</revision></buildInfo><extensions><extension><name>org.apache.nifi.processors.cipher.DecryptContentAge</name><type>PROCESSOR</type><description>Decrypt content using the age-encryption.org/v1 specification. Detects binary or ASCII armored content encoding using the initial file header bytes. The age standard uses ChaCha20-Poly1305 for authenticated encryption of the payload. The age-keygen command supports generating X25519 key pairs for encryption and decryption operations.</description><tags><tag>age</tag><tag>age-encryption.org</tag><tag>encryption</tag><tag>ChaCha20-Poly1305</tag><tag>X25519</tag></tags><properties><property><name>Private Key Source</name><displayName>Private Key Source</displayName><description>Source of information determines the loading strategy for X25519 Private Key Identities</description><defaultValue>PROPERTIES</defaultValue><allowableValues><allowableValue><displayName>PROPERTIES</displayName><value>PROPERTIES</value><description>Load one or more keys from configured properties</description></allowableValue><allowableValue><displayName>RESOURCES</displayName><value>RESOURCES</value><description>Load one or more keys from files or URLs</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Private Key Identities</name><displayName>Private Key Identities</displayName><description>One or more X25519 Private Key Identities, separated with newlines, encoded according to the age specification, starting with AGE-SECRET-KEY-1</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><resourceDefinition><cardinality>SINGLE</cardinality><resourceTypes><resourceType>TEXT</resourceType></resourceTypes></resourceDefinition><dependencies><dependency><propertyName>Private Key Source</propertyName><propertyDisplayName>Private Key Source</propertyDisplayName><dependentValues><dependentValue>PROPERTIES</dependentValue></dependentValues></dependency></dependencies></property><property><name>Private Key Identity Resources</name><displayName>Private Key Identity Resources</displayName><description>One or more files or URLs containing X25519 Private Key Identities, separated with newlines, encoded according to the age specification, starting with AGE-SECRET-KEY-1</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><resourceDefinition><cardinality>MULTIPLE</cardinality><resourceTypes><resourceType>URL</resourceType><resourceType>FILE</resourceType></resourceTypes></resourceDefinition><dependencies><dependency><propertyName>Private Key Source</propertyName><propertyDisplayName>Private Key Source</propertyDisplayName><dependentValues><dependentValue>RESOURCES</dependentValue></dependentValues></dependency></dependencies></property></properties><relationships><relationship><name>success</name><description>Decryption Completed</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Decryption Failed</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes></writesAttributes><supportsBatching>true</supportsBatching><inputRequirement>INPUT_REQUIRED</inputRequirement><seeAlso><see>org.apache.nifi.processors.cipher.EncryptContentAge</see></seeAlso></extension><extension><name>org.apache.nifi.processors.cipher.EncryptContentAge</name><type>PROCESSOR</type><description>Encrypt content using the age-encryption.org/v1 specification. Supports binary or ASCII armored content encoding using configurable properties. The age standard uses ChaCha20-Poly1305 for authenticated encryption of the payload. The age-keygen command supports generating X25519 key pairs for encryption and decryption operations.</description><tags><tag>age</tag><tag>age-encryption.org</tag><tag>encryption</tag><tag>ChaCha20-Poly1305</tag><tag>X25519</tag></tags><properties><property><name>File Encoding</name><displayName>File Encoding</displayName><description>Output encoding for encrypted files. Binary encoding provides optimal processing performance.</description><defaultValue>BINARY</defaultValue><allowableValues><allowableValue><displayName>BINARY</displayName><value>BINARY</value><description>Binary encoding</description></allowableValue><allowableValue><displayName>ASCII</displayName><value>ASCII</value><description>ASCII Armor encoding</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Public Key Source</name><displayName>Public Key Source</displayName><description>Source of information determines the loading strategy for X25519 Public Key Recipients</description><defaultValue>PROPERTIES</defaultValue><allowableValues><allowableValue><displayName>PROPERTIES</displayName><value>PROPERTIES</value><description>Load one or more keys from configured properties</description></allowableValue><allowableValue><displayName>RESOURCES</displayName><value>RESOURCES</value><description>Load one or more keys from files or URLs</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Public Key Recipients</name><displayName>Public Key Recipients</displayName><description>One or more X25519 Public Key Recipients, separated with newlines, encoded according to the age specification, starting with age1</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><resourceDefinition><cardinality>SINGLE</cardinality><resourceTypes><resourceType>TEXT</resourceType></resourceTypes></resourceDefinition><dependencies><dependency><propertyName>Public Key Source</propertyName><propertyDisplayName>Public Key Source</propertyDisplayName><dependentValues><dependentValue>PROPERTIES</dependentValue></dependentValues></dependency></dependencies></property><property><name>Public Key Recipient Resources</name><displayName>Public Key Recipient Resources</displayName><description>One or more files or URLs containing X25519 Public Key Recipients, separated with newlines, encoded according to the age specification, starting with age1</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><resourceDefinition><cardinality>MULTIPLE</cardinality><resourceTypes><resourceType>URL</resourceType><resourceType>FILE</resourceType></resourceTypes></resourceDefinition><dependencies><dependency><propertyName>Public Key Source</propertyName><propertyDisplayName>Public Key Source</propertyDisplayName><dependentValues><dependentValue>RESOURCES</dependentValue></dependentValues></dependency></dependencies></property></properties><relationships><relationship><name>success</name><description>Encryption Completed</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Encryption Failed</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes></writesAttributes><supportsBatching>true</supportsBatching><inputRequirement>INPUT_REQUIRED</inputRequirement><seeAlso><see>org.apache.nifi.processors.cipher.DecryptContentAge</see></seeAlso></extension><extension><name>org.apache.nifi.processors.cipher.VerifyContentMAC</name><type>PROCESSOR</type><description>Calculates a Message Authentication Code using the provided Secret Key and compares it with the provided MAC property</description><tags><tag>Authentication</tag><tag>Signing</tag><tag>MAC</tag><tag>HMAC</tag></tags><properties><property><name>mac-algorithm</name><displayName>Message Authentication Code Algorithm</displayName><description>Hashed Message Authentication Code Function</description><allowableValues><allowableValue><displayName>HmacSHA256</displayName><value>HmacSHA256</value><description></description></allowableValue><allowableValue><displayName>HmacSHA512</displayName><value>HmacSHA512</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>message-authentication-code-encoding</name><displayName>Message Authentication Code Encoding</displayName><description>Encoding of the Message Authentication Code</description><defaultValue>HEXADECIMAL</defaultValue><allowableValues><allowableValue><displayName>HEXADECIMAL</displayName><value>HEXADECIMAL</value><description></description></allowableValue><allowableValue><displayName>BASE64</displayName><value>BASE64</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>message-authentication-code</name><displayName>Message Authentication Code</displayName><description>The MAC to compare with the calculated value</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>secret-key-encoding</name><displayName>Secret Key Encoding</displayName><description>Encoding of the Secret Key</description><defaultValue>HEXADECIMAL</defaultValue><allowableValues><allowableValue><displayName>UTF8</displayName><value>UTF8</value><description></description></allowableValue><allowableValue><displayName>HEXADECIMAL</displayName><value>HEXADECIMAL</value><description></description></allowableValue><allowableValue><displayName>BASE64</displayName><value>BASE64</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>secret-key</name><displayName>Secret Key</displayName><description>Secret key to calculate the hash</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>Signature Verification Succeeded</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Signature Verification Failed</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>mac.calculated</name><description>Calculated Message Authentication Code encoded by the selected encoding</description></writesAttribute><writesAttribute><name>mac.encoding</name><description>The Encoding of the Hashed Message Authentication Code</description></writesAttribute><writesAttribute><name>mac.algorithm</name><description>Hashed Message Authentication Code Algorithm</description></writesAttribute></writesAttributes><supportsBatching>true</supportsBatching><inputRequirement>INPUT_REQUIRED</inputRequirement></extension></extensions></extensionManifest>