<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-ssl-context-service-nar</artifactId><version>2.3.0</version><parentNar><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.3.0</version></parentNar><systemApiVersion>2.0.0</systemApiVersion><buildInfo><tag>rel/nifi-2.3.0</tag><branch>main</branch><revision>1</revision></buildInfo><extensions><extension><name>org.apache.nifi.ssl.PEMEncodedSSLContextProvider</name><type>CONTROLLER_SERVICE</type><description>    SSLContext Provider configurable using PEM Private Key and Certificate files.
    Supports PKCS1 and PKCS8 encoding for Private Keys as well as X.509 encoding for Certificates.
</description><tags><tag>PEM</tag><tag>SSL</tag><tag>TLS</tag><tag>Key</tag><tag>Certificate</tag><tag>PKCS1</tag><tag>PKCS8</tag><tag>X.509</tag><tag>ECDSA</tag><tag>Ed25519</tag><tag>RSA</tag></tags><properties><property><name>TLS Protocol</name><displayName>TLS Protocol</displayName><description>TLS protocol version required for negotiating encrypted communications.</description><defaultValue>TLS</defaultValue><allowableValues><allowableValue><displayName>TLS</displayName><value>TLS</value><description>Negotiate latest TLS protocol version based on platform supported versions</description></allowableValue><allowableValue><displayName>TLSv1.3</displayName><value>TLSv1.3</value><description>Require TLSv1.3 protocol version</description></allowableValue><allowableValue><displayName>TLSv1.2</displayName><value>TLSv1.2</value><description>Require TLSv1.2 protocol version</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 Source</name><displayName>Private Key Source</displayName><description>Source of information for loading Private Key and Certificate Chain</description><defaultValue>PROPERTIES</defaultValue><allowableValues><allowableValue><displayName>Undefined</displayName><value>UNDEFINED</value><description>Avoid configuring Private Key and Certificate Chain properties</description></allowableValue><allowableValue><displayName>Properties</displayName><value>PROPERTIES</value><description>Load Private Key and Certificate Chain from configured properties</description></allowableValue><allowableValue><displayName>Files</displayName><value>FILES</value><description>Load Private Key and Certificate Chain from configured files</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</name><displayName>Private Key</displayName><description>PEM Private Key encoded using either PKCS1 or PKCS8. Supported algorithms include ECDSA, Ed25519, and RSA</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 Location</name><displayName>Private Key Location</displayName><description>PEM Private Key file location encoded using either PKCS1 or PKCS8. Supported algorithms include ECDSA, Ed25519, and RSA</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><resourceDefinition><cardinality>SINGLE</cardinality><resourceTypes><resourceType>FILE</resourceType></resourceTypes></resourceDefinition><dependencies><dependency><propertyName>Private Key Source</propertyName><propertyDisplayName>Private Key Source</propertyDisplayName><dependentValues><dependentValue>FILES</dependentValue></dependentValues></dependency></dependencies></property><property><name>Certificate Chain</name><displayName>Certificate Chain</displayName><description>PEM X.509 Certificate Chain associated with Private Key starting with standard BEGIN CERTIFICATE header</description><required>true</required><sensitive>false</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>Certificate Chain Location</name><displayName>Certificate Chain Location</displayName><description>PEM X.509 Certificate Chain file location associated with Private Key starting with standard BEGIN CERTIFICATE header</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><resourceDefinition><cardinality>SINGLE</cardinality><resourceTypes><resourceType>FILE</resourceType></resourceTypes></resourceDefinition><dependencies><dependency><propertyName>Private Key Source</propertyName><propertyDisplayName>Private Key Source</propertyDisplayName><dependentValues><dependentValue>FILES</dependentValue></dependentValues></dependency></dependencies></property><property><name>Certificate Authorities Source</name><displayName>Certificate Authorities Source</displayName><description>Source of information for loading trusted Certificate Authorities</description><defaultValue>PROPERTIES</defaultValue><allowableValues><allowableValue><displayName>Properties</displayName><value>PROPERTIES</value><description>Load trusted Certificate Authorities from configured properties</description></allowableValue><allowableValue><displayName>System</displayName><value>SYSTEM</value><description>Load trusted Certificate Authorities from the default system location</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Certificate Authorities</name><displayName>Certificate Authorities</displayName><description>PEM X.509 Certificate Authorities trusted for verifying peers in TLS communications containing one or more standard certificates</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><resourceDefinition><cardinality>SINGLE</cardinality><resourceTypes><resourceType>FILE</resourceType><resourceType>TEXT</resourceType></resourceTypes></resourceDefinition><dependencies><dependency><propertyName>Certificate Authorities Source</propertyName><propertyDisplayName>Certificate Authorities Source</propertyDisplayName><dependentValues><dependentValue>PROPERTIES</dependentValue></dependentValues></dependency></dependencies></property></properties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.ssl.SSLContextProvider</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.3.0</version></providedServiceAPI></providedServiceAPIs></extension><extension><name>org.apache.nifi.ssl.StandardRestrictedSSLContextService</name><type>CONTROLLER_SERVICE</type><description>Restricted implementation of the SSLContextService. Provides the ability to configure keystore and/or truststore properties once and reuse that configuration throughout the application, but only allows a restricted set of TLS/SSL protocols to be chosen (no SSL protocols are supported). The set of protocols selectable will evolve over time as new protocols emerge and older protocols are deprecated. This service is recommended over StandardSSLContextService if a component doesn't expect to communicate with legacy systems since it is unlikely that legacy systems will support these protocols.</description><tags><tag>tls</tag><tag>ssl</tag><tag>secure</tag><tag>certificate</tag><tag>keystore</tag><tag>truststore</tag><tag>jks</tag><tag>p12</tag><tag>pkcs12</tag><tag>pkcs</tag></tags><properties><property><name>Keystore Filename</name><displayName>Keystore Filename</displayName><description>The fully-qualified filename of the Keystore</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><resourceDefinition><cardinality>SINGLE</cardinality><resourceTypes><resourceType>FILE</resourceType></resourceTypes></resourceDefinition></property><property><name>Keystore Password</name><displayName>Keystore Password</displayName><description>The password for the Keystore</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>key-password</name><displayName>Key Password</displayName><description>The password for the key. If this is not specified, but the Keystore Filename, Password, and Type are specified, then the Keystore Password will be assumed to be the same as the Key Password.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Keystore Type</name><displayName>Keystore Type</displayName><description>The Type of the Keystore</description><allowableValues><allowableValue><displayName>BCFKS</displayName><value>BCFKS</value><description></description></allowableValue><allowableValue><displayName>PKCS12</displayName><value>PKCS12</value><description></description></allowableValue><allowableValue><displayName>JKS</displayName><value>JKS</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Truststore Filename</name><displayName>Truststore Filename</displayName><description>The fully-qualified filename of the Truststore</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><resourceDefinition><cardinality>SINGLE</cardinality><resourceTypes><resourceType>FILE</resourceType></resourceTypes></resourceDefinition></property><property><name>Truststore Password</name><displayName>Truststore Password</displayName><description>The password for the Truststore</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Truststore Type</name><displayName>Truststore Type</displayName><description>The Type of the Truststore</description><allowableValues><allowableValue><displayName>BCFKS</displayName><value>BCFKS</value><description></description></allowableValue><allowableValue><displayName>PKCS12</displayName><value>PKCS12</value><description></description></allowableValue><allowableValue><displayName>JKS</displayName><value>JKS</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>SSL Protocol</name><displayName>TLS Protocol</displayName><description>TLS Protocol Version for encrypted connections. Supported versions depend on the specific version of Java used.</description><defaultValue>TLS</defaultValue><allowableValues><allowableValue><displayName>TLS</displayName><value>TLS</value><description>Negotiate latest protocol version based on platform supported versions</description></allowableValue><allowableValue><displayName>TLSv1.3</displayName><value>TLSv1.3</value><description>Require TLSv1.3 protocol version</description></allowableValue><allowableValue><displayName>TLSv1.2</displayName><value>TLSv1.2</value><description>Require TLSv1.2 protocol version</description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.ssl.SSLContextService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.3.0</version></providedServiceAPI><providedServiceAPI><className>org.apache.nifi.ssl.RestrictedSSLContextService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.3.0</version></providedServiceAPI><providedServiceAPI><className>org.apache.nifi.ssl.SSLContextProvider</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.3.0</version></providedServiceAPI></providedServiceAPIs></extension><extension><name>org.apache.nifi.ssl.StandardSSLContextService</name><type>CONTROLLER_SERVICE</type><description>Standard implementation of the SSLContextService. Provides the ability to configure keystore and/or truststore properties once and reuse that configuration throughout the application. This service can be used to communicate with both legacy and modern systems. If you only need to communicate with non-legacy systems, then the StandardRestrictedSSLContextService is recommended as it only allows a specific set of SSL protocols to be chosen.</description><tags><tag>ssl</tag><tag>secure</tag><tag>certificate</tag><tag>keystore</tag><tag>truststore</tag><tag>jks</tag><tag>p12</tag><tag>pkcs12</tag><tag>pkcs</tag><tag>tls</tag></tags><properties><property><name>Keystore Filename</name><displayName>Keystore Filename</displayName><description>The fully-qualified filename of the Keystore</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><resourceDefinition><cardinality>SINGLE</cardinality><resourceTypes><resourceType>FILE</resourceType></resourceTypes></resourceDefinition></property><property><name>Keystore Password</name><displayName>Keystore Password</displayName><description>The password for the Keystore</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>key-password</name><displayName>Key Password</displayName><description>The password for the key. If this is not specified, but the Keystore Filename, Password, and Type are specified, then the Keystore Password will be assumed to be the same as the Key Password.</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Keystore Type</name><displayName>Keystore Type</displayName><description>The Type of the Keystore</description><allowableValues><allowableValue><displayName>BCFKS</displayName><value>BCFKS</value><description></description></allowableValue><allowableValue><displayName>PKCS12</displayName><value>PKCS12</value><description></description></allowableValue><allowableValue><displayName>JKS</displayName><value>JKS</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Truststore Filename</name><displayName>Truststore Filename</displayName><description>The fully-qualified filename of the Truststore</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><resourceDefinition><cardinality>SINGLE</cardinality><resourceTypes><resourceType>FILE</resourceType></resourceTypes></resourceDefinition></property><property><name>Truststore Password</name><displayName>Truststore Password</displayName><description>The password for the Truststore</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Truststore Type</name><displayName>Truststore Type</displayName><description>The Type of the Truststore</description><allowableValues><allowableValue><displayName>BCFKS</displayName><value>BCFKS</value><description></description></allowableValue><allowableValue><displayName>PKCS12</displayName><value>PKCS12</value><description></description></allowableValue><allowableValue><displayName>JKS</displayName><value>JKS</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>SSL Protocol</name><displayName>TLS Protocol</displayName><description>SSL or TLS Protocol Version for encrypted connections. Supported versions include insecure legacy options and depend on the specific version of Java used.</description><defaultValue>TLS</defaultValue><allowableValues><allowableValue><displayName>SSL</displayName><value>SSL</value><description>Negotiate latest SSL or TLS protocol version based on platform supported versions</description></allowableValue><allowableValue><displayName>TLS</displayName><value>TLS</value><description>Negotiate latest TLS protocol version based on platform supported versions</description></allowableValue><allowableValue><displayName>TLSv1.3</displayName><value>TLSv1.3</value><description>Require TLSv1.3 protocol version</description></allowableValue><allowableValue><displayName>TLSv1.2</displayName><value>TLSv1.2</value><description>Require TLSv1.2 protocol version</description></allowableValue><allowableValue><displayName>TLSv1.1</displayName><value>TLSv1.1</value><description>Require TLSv1.1 protocol version</description></allowableValue><allowableValue><displayName>TLSv1</displayName><value>TLSv1</value><description>Require TLSv1 protocol version</description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.ssl.SSLContextService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.3.0</version></providedServiceAPI><providedServiceAPI><className>org.apache.nifi.ssl.SSLContextProvider</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.3.0</version></providedServiceAPI></providedServiceAPIs></extension></extensions></extensionManifest>