Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

As already mentioned, DFC protects external and internal traffic using two different pairs of certificate and trusted certificates. Such are configured by properties:

Code Block
# External traffic:
dmaap.ftpesConfig.keyCert: /opt/app/datafile/config/cert.jks
dmaap.ftpesConfig.keyPasswordPath: /opt/app/datafile/config/jks.pass
dmaap.ftpesConfig.trustedCa: /opt/app/datafile/config/trust.jks
dmaap.ftpesConfig.trustedCaPasswordPath: /opt/app/datafile/etc/cert/trust.pass

# Internal traffic:
dmaap.security.enableDmaapCertAuth: false
dmaap.security.keyStorePasswordPath: /opt/app/datafile/etc/cert/key.pass
dmaap.security.keyStorePath: /opt/app/datafile/etc/cert/key.p12
dmaap.security.trustStorePasswordPath: /opt/app/datafile/etc/cert/trust.pass
dmaap.security.trustStorePath: /opt/app/datafile/etc/cert/trust.jks

...

VES collector protects both external and internal traffic using the same certificate and trusted certificates. Such are configured by properties:

Code Block
# Current one is actually external one:
collector.keystore.file.location: /opt/app/dcae-certificate/cert.jks
collector.keystore.passwordfile: /opt/app/dcae-certificate/jks.pass
collector.truststore.file.location: /opt/app/dcae-certificate/trust.jks
collector.truststore.passwordfile: /opt/app/dcae-certificate/trust.pass

...

HV-VES collector protects both external and internal traffic using the same certificate and trusted certificates. Such are configured by properties:

Code Block
# Current one is actually external one:
security.keys.keyStoreFile: /etc/ves-hv/ssl/cert.jks
security.keys.keyStorePasswordFile: /etc/ves-hv/ssl/jks.pass
security.keys.trustStoreFile: /etc/ves-hv/ssl/trust.jks
security.keys.trustStorePasswordFile: /etc/ves-hv/ssl/trust.pass

RestConf collector

RestConf collector has two keystores and one truststore. One keystore is used to protect RestConf's REST API while second is used to protect communication between RestConf collector and external controllers. The same truststore is used to protect both communications. Right now its is unknown (question) if the same truststore is used when RestConf communicates with DMaaP.

Code Block
# Keystore used to protect RestConf's REST API:
collector.keystore.file.location: "/opt/app/restconfcollector/etc/sdnc.p12"
collector.keystore.passwordfile: "/opt/app/restconfcollector/etc/passwordfile"

# Seems this alias is used to lookup correct certificate from Keystore to proetect RestConf's REST API:
collector.rcc.keystore.alias: "dynamically generated"

# Keystore used to protect communication between RestConf collector and external controllers:
collector.rcc.keystore.file.location: "/opt/app/restconfcollector/etc/keystore"
collector.rcc.keystore.passwordfile: "/opt/app/restconfcollector/etc/rcc_passwordfile"

# Truststore used to protect both external communications
collector.rcc.truststore.file.location: "/opt/app/restconfcollector/etc/truststore.onap.client.jks"
collector.rcc.truststore.passwordfile: "/opt/app/restconfcollector/etc/trustpasswordfile"

Way forward

Blueprint generator

...

GroupProperty nameType (input*/blueprint**/plugin***/cbs****)DefaultDescription
external_cert









use_external_tlsinputtrueA boolean that indicates whether the component uses AAF CertService to acquire operator certificate to protect external (between xNFs and ONAP) traffic. For a time being only operator certificate from CMPv2 server is supported
external_cert_directoryblueprint/opt/app/dcae-certificate/external_certDirectory where operator certificate and trusted certs should be created
ca_nameinputRAName of Certificate Authority configured on CertService side (in cmpServers.json). Default RA_TEST corresponds to default CMPv2 testing configuration.

external_cert:

external_certificate_parameters

common_nameinput<Specific for every blueprint>Common name which should be present in certificate. Specific for every blueprint (e.g. dcae-ves-collector for VES)
sansinput<Specific for every blueprint>List of Subject Alternative Names (SANs) which should be present in certificate. Delimiter - : Should contain common_name value and other FQDNs under which given component is accessible, e.g. if xNFs uses ves-collector in request URL, such should be also present in SANs - e.g. dcae-ves-collector:ves-collector.
Extra configuration parameters stored in CBS

properties:

application_config

external_keystore_pathblueprint + cbs/opt/app/dcae-certificate/external_cert/keystore.jksPath to keystore with external certificate
external_keystore_password_pathblueprint + cbs/opt/app/dcae-certificate/external_cert/keystore.passPath to password for keystore with external certificate
external_truststore_pathblueprint + cbs/opt/app/dcae-certificate/external_cert/truststore.jksPath to truststore with external trust anchors
external_truststore_password_pathblueprint + cbs/opt/app/dcae-certificate/external_cert/truststore.passPath to password for truststore with external trust anchors
Extra K8s plugin configuration parameters

image_tagpluginnexus3.onap.org:10001/onap/org.onap.aaf.certservice.aaf-certservice-client:$VERSIONImage name and version

request_urlpluginhttps://aaf-cert-service:8443/v1/certificate/URL to Cert Service API

timeoutplugin30000Request timeout

countrypluginUSCountry name in ISO 3166-1 alpha-2 format, for which certificate will be created

organizationpluginLinux-FoundationOrganization name, for which certificate will be created

statepluginCaliforniaState name, for which certificate will be created

organizational_unitpluginONAPOrganizational unit name, for which certificate will be created

locationpluginSan-FranciscoLocation name, for which certificate will be created

...