Class SecurityApplicationPropertyHandler
java.lang.Object
org.apache.nifi.bootstrap.property.SecurityApplicationPropertyHandler
- All Implemented Interfaces:
ApplicationPropertyHandler
public class SecurityApplicationPropertyHandler
extends Object
implements ApplicationPropertyHandler
Standard implementation for application security generates Key Pair and Certificate when not configured
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static enum
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final X500Principal
private static final Duration
private static final String
protected static final String
private static final int
private static final Pattern
private static final Pattern
private static final String
private static final int
private static final String
private final org.slf4j.Logger
private static final String
private static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate KeyPair
protected String
private static String
getDigest
(X509Certificate certificate) private Collection
<String> getSubjectAlternativeNames
(Properties applicationProperties) void
handleProperties
(Path applicationPropertiesLocation) Handle Application Properties based on provided path locationprivate boolean
private boolean
isCertificateGenerationRequired
(Properties applicationProperties) private Properties
loadProperties
(Path applicationPropertiesLocation) private KeyStore
newKeyStore
(String storeType) private void
processApplicationProperties
(Properties applicationProperties) private void
writeKeyStore
(Properties applicationProperties, X509Certificate certificate, PrivateKey privateKey) private void
writePasswordProperties
(Properties applicationProperties, Path applicationPropertiesLocation) private void
writeProperty
(PrintWriter writer, SecurityApplicationPropertyHandler.SecurityProperty securityProperty, Properties applicationProperties) private void
writeTrustStore
(Properties applicationProperties, X509Certificate certificate)
-
Field Details
-
ENTRY_ALIAS
- See Also:
-
CERTIFICATE_ISSUER
-
DIGEST_ALGORITHM
- See Also:
-
KEY_ALGORITHM
- See Also:
-
KEY_SIZE
private static final int KEY_SIZE- See Also:
-
LOCALHOST
- See Also:
-
CERTIFICATE_VALIDITY_PERIOD
-
RANDOM_BYTE_LENGTH
private static final int RANDOM_BYTE_LENGTH- See Also:
-
PROPERTY_SEPARATOR
- See Also:
-
HOST_PORT_PATTERN
-
HOST_GROUP
private static final int HOST_GROUP- See Also:
-
HOST_PORT_GROUP_SEPARATOR
-
logger
private final org.slf4j.Logger logger
-
-
Constructor Details
-
SecurityApplicationPropertyHandler
public SecurityApplicationPropertyHandler(org.slf4j.Logger logger)
-
-
Method Details
-
handleProperties
Description copied from interface:ApplicationPropertyHandler
Handle Application Properties based on provided path location- Specified by:
handleProperties
in interfaceApplicationPropertyHandler
- Parameters:
applicationPropertiesLocation
- Path to Application Properties
-
processApplicationProperties
-
writeTrustStore
-
writeKeyStore
private void writeKeyStore(Properties applicationProperties, X509Certificate certificate, PrivateKey privateKey) -
writePasswordProperties
private void writePasswordProperties(Properties applicationProperties, Path applicationPropertiesLocation) -
writeProperty
private void writeProperty(PrintWriter writer, SecurityApplicationPropertyHandler.SecurityProperty securityProperty, Properties applicationProperties) -
newKeyStore
-
isCertificateGenerationRequired
-
getSubjectAlternativeNames
-
generateKeyPair
-
generatePassword
-
getDigest
-
loadProperties
-
getHosts
-
isBlank
-