From fe4c4957e2dd09ab09cd0486424416470c9d1730 Mon Sep 17 00:00:00 2001 From: Bogumil Zebek Date: Fri, 21 Aug 2020 12:07:57 +0200 Subject: [PATCH] Remove documentation Project was abandon since release G. Issue-ID: OOM-2526 Signed-off-by: Zebek Bogumil Change-Id: I711ffb123af71917bf4d58aad5fb14b2f696dd68 --- README.md | 4 + docs/index.rst | 18 +- docs/sections/architecture.rst | 32 --- docs/sections/build.rst | 61 ----- docs/sections/configuration.rst | 261 --------------------- docs/sections/installation.rst | 26 -- docs/sections/introduction.rst | 38 --- docs/sections/logging.rst | 124 ---------- docs/sections/offeredapis.rst | 171 -------------- docs/sections/release-notes.rst | 176 -------------- docs/sections/resources/OpenAPI.yaml | 162 ------------- .../resources/certService_cert_enrollment_flow.png | Bin 143610 -> 0 bytes docs/sections/resources/certservice_high_level.png | Bin 20276 -> 0 bytes docs/sections/resources/cmpv2_context_view.png | Bin 20201 -> 0 bytes docs/sections/troubleshooting.rst | 9 - docs/sections/usage.rst | 211 ----------------- 16 files changed, 8 insertions(+), 1285 deletions(-) delete mode 100644 docs/sections/architecture.rst delete mode 100644 docs/sections/build.rst delete mode 100644 docs/sections/configuration.rst delete mode 100644 docs/sections/installation.rst delete mode 100644 docs/sections/introduction.rst delete mode 100644 docs/sections/logging.rst delete mode 100644 docs/sections/offeredapis.rst delete mode 100644 docs/sections/release-notes.rst delete mode 100644 docs/sections/resources/OpenAPI.yaml delete mode 100644 docs/sections/resources/certService_cert_enrollment_flow.png delete mode 100644 docs/sections/resources/certservice_high_level.png delete mode 100644 docs/sections/resources/cmpv2_context_view.png delete mode 100644 docs/sections/troubleshooting.rst delete mode 100644 docs/sections/usage.rst diff --git a/README.md b/README.md index c3a30ce0..c5220308 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ # Cert service +21-08-2020 +THIS PROJECT WAS ABANDON IN RELEASE Guilin! +New version of CertService is developed begin release Guilin in https://gerrit.onap.org/r/admin/repos/oom/platform/cert-service +repository. ### General description diff --git a/docs/index.rst b/docs/index.rst index 43ea942d..fb2c3a62 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,20 +6,10 @@ AAF Certification Service ========================================== -.. toctree:: - :maxdepth: 2 - :caption: Contents: - - sections/introduction.rst - sections/architecture.rst - sections/build.rst - sections/offeredapis.rst - sections/usage.rst - sections/logging.rst - sections/installation.rst - sections/configuration.rst - sections/release-notes.rst - sections/troubleshooting.rst +21-08-2020 +THIS PROJECT WAS ABANDON IN RELEASE Guilin! +New version of CertService is developed begin release Guilin in https://gerrit.onap.org/r/admin/repos/oom/platform/cert-service +repository. Indices and tables ================== diff --git a/docs/sections/architecture.rst b/docs/sections/architecture.rst deleted file mode 100644 index 9166aa39..00000000 --- a/docs/sections/architecture.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. Copyright 2020 NOKIA -.. _architecture: - -Architecture -============ - -Interaction between components ------------------------------- - -.. image:: resources/certservice_high_level.png - :width: 855px - :height: 223px - :alt: Interaction between components - -The micro-service called CertService is designed for requesting certificates signed by external Certificate Authority (CA) using CMP over HTTP protocol. It uses CMPv2 client to send and receive CMPv2 messages. - -CertService's client is also provided so other ONAP components (aka end components) can easily get certificate from CertService. End component is an ONAP component (e.g. DCAE collector or controller) which requires certificate from CMPv2 server to protect external traffic and uses CertService's client to get it. - -CertService's client communicates with CertService via REST API over HTTPS, while CertService with CMPv2 server via CMP over HTTP. - -To proof that CertService works Open Source CMPv2 server (EJBCA) is deployed and used in E2E tests. - - -Simplified certificate enrollment flow --------------------------------------- - -.. image:: resources/certService_cert_enrollment_flow.png - :width: 1191px - :height: 893px - :alt: Simplified certificate enrollment flow diff --git a/docs/sections/build.rst b/docs/sections/build.rst deleted file mode 100644 index 44c38c46..00000000 --- a/docs/sections/build.rst +++ /dev/null @@ -1,61 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. Copyright 2020 NOKIA - -Build -====== - -Jenkins -------- -#. JJB Master - - https://jenkins.onap.org/view/aaf/job/aaf-certservice-master-merge-java/ - -#. JJB Stage - - https://jenkins.onap.org/view/aaf/job/aaf-certservice-maven-docker-stage-master/ - -#. JJB Release - - https://jenkins.onap.org/view/aaf/job/aaf-certservice-maven-stage-master/ - https://jenkins.onap.org/view/aaf/job/aaf-certservice-release-merge/ - -#. JJB CSIT - - https://jenkins.onap.org/view/CSIT/job/aaf-master-csit-certservice/ - -Environment ------------ - -* Java 11 -* Apache Maven 3.6.0 -* Linux -* Docker 18.09.5 -* Python 2.7.x - -How to build images? --------------------- - -#. Checkout the project from https://gerrit.onap.org/r/#/admin/projects/aaf/certservice -#. Read information stored in README.md file -#. Use a Makefile to build images:: - - make build - -How to start service locally? ------------------------------------------------ -#. Start Cert Service with configured EJBCA:: - - make start-backend - -#. Run Cert Service Client:: - - make run-client - -#. Remove client container:: - - make stop-client - -#. Stop Cert Service and EJBCA:: - - make stop-backend diff --git a/docs/sections/configuration.rst b/docs/sections/configuration.rst deleted file mode 100644 index b325712e..00000000 --- a/docs/sections/configuration.rst +++ /dev/null @@ -1,261 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. Copyright 2020 NOKIA - -Configuration -============== - - -Configuring Cert Service ------------------------- -Cert Service keeps configuration of CMP Servers in file *cmpServers.json*. - -Example cmpServers.json file: - -.. code-block:: json - - { - "cmpv2Servers": [ - { - "caName": "Client", - "url": "http://aafcert-ejbca:8080/ejbca/publicweb/cmp/cmp", - "issuerDN": "CN=ManagementCA", - "caMode": "CLIENT", - "authentication": { - "iak": "mypassword", - "rv": "mypassword" - } - }, - { - "caName": "RA", - "url": "http://aafcert-ejbca:8080/ejbca/publicweb/cmp/cmpRA", - "issuerDN": "CN=ManagementCA", - "caMode": "RA", - "authentication": { - "iak": "mypassword", - "rv": "mypassword" - } - } - ] - } - -This contains list of CMP Servers, where each server has following properties: - - - *caName* - name of the external CA server. It's used to match *CA_NAME* sent by CertService client in order to match proper configuration. - - *url* - URL to CMPv2 server - - *issuerDN* - Distinguished Name of the CA that will sign the certificate - - *caMode* - Issuer mode. Allowed values are *CLIENT* and *RA* - - *authentication* - - - *iak* - Initial authentication key, used to authenticate request in CMPv2 server - - *rv* - Reference value, used to authenticate request in CMPv2 server - - - -This configuration is read on the application start. It can also be reloaded in runtime, by calling HTTPS endpoint. - -Next sections explain how to configure Cert Service in local (docker-compose) and OOM Deployments. - - -Configuring in local (docker-compose) deployment: -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Before application start: -""""""""""""""""""""""""" - -1. Edit *cmpServers.json* file in certservice/compose-resources -2. Start containers:: - - make start-backend - -When application is running: -"""""""""""""""""""""""""""" - -1. Find CertService docker container name. -2. Enter container:: - - docker exec -it bash - - e.g. - docker exec -it aafcert-service bash - -3. Edit *cmpServers.json* file:: - - vim /etc/onap/aaf/certservice/cmpServers.json - -4. Save the file. Note that this file is mounted as volume, so change will be persistent. -5. Reload configuration:: - - curl -I https://localhost:8443/reload --cacert /etc/onap/aaf/certservice/certs/root.crt --cert-type p12 --cert /etc/onap/aaf/certservice/certs/certServiceServer-keystore.p12 --pass $KEYSTORE_PASSWORD - -6. Exit container:: - - exit - - -Configuring in OOM deployment: -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Before OOM installation: -"""""""""""""""""""""""" - -Note! This must be executed before calling *make all* (from OOM Installation) or needs remaking AAF charts. - - -1. Edit *cmpServers.json* file. If OOM *global.addTestingComponents* flag is set to: - - - *true* - edit *kubernetes/aaf/charts/aaf-cert-service/resources/test/cmpServers.json* - - *false* - edit *kubernetes/aaf/charts/aaf-cert-service/resources/default/cmpServers.json* - -2. Build and start OOM deployment - -When CertService is deployed: -""""""""""""""""""""""""""""" - -1. Create file with configuration - -2. Encode your configuration to base64:: - - cat | base64 - -3. Edit secret:: - - kubectl -n onap edit secret - - e.g. - kubectl -n onap edit secret aaf-cert-service-secret - -4. Replace value for *cmpServers.json* with your base64 encoded configuration. For example: - - .. code-block:: yaml - - apiVersion: v1 - data: - cmpServers.json: - kind: Secret - metadata: - creationTimestamp: "2020-04-21T16:30:29Z" - name: aaf-cert-service-secret - namespace: default - resourceVersion: "33892990" - selfLink: /api/v1/namespaces/default/secrets/aaf-cert-service-secret - uid: 6a037526-83ed-11ea-b731-fa163e2144f6 - type: Opaque - -5. Save and exit -6. New configuration will be automatically mounted to CertService pod, but application configuration reload is needed. -7. To reload configuration enter CertService pod:: - - kubectl -n onap exec -it bash - - e.g. - kubectl -n onap exec -it $(kubectl -n onap get pods | grep cert-service | awk '{print $1}') bash - -8. Reload configuration:: - - curl -I https://localhost:$HTTPS_PORT/reload --cacert $ROOT_CERT --cert-type p12 --cert $KEYSTORE_P12_PATH --pass $KEYSTORE_PASSWORD - -9. Exit container:: - - exit - - -Generating certificates for CertService and CertService Client --------------------------------------------------------------- -CertService and CertService client use mutual TLS for communication. Certificates are generated during CertService installation. - -Docker mode: -^^^^^^^^^^^^ - -Certificates are mounted to containers by docker volumes: - - - CertService volumes are defined in certservice/docker-compose.yaml - - CertService Client volumes are defined in certservice/Makefile - -All certificates are stored in *certservice/certs* directory. To recreate certificates go to *certservice/certs* directory and execute:: - - make clear all - -This will clear existing certs and generate new ones. - -ONAP OOM installation: -^^^^^^^^^^^^^^^^^^^^^^ - -Certificates are stored in secrets, which are mounted to pods as volumes. Both secrets are stored in *kubernetes/aaf/charts/aaf-cert-service/templates/secret.yaml*. -Secrets take certificates from *kubernetes/aaf/charts/aaf-cert-service/resources* directory. Certificates are generated automatically during building (using Make) OOM repository. - -*kubernetes/aaf/charts/aaf-cert-service/Makefile* is similar to the one stored in certservice repository. It actually generates certificates. -This Makefile is executed by *kubernetes/aaf/Makefile*, which is automatically executed during OOM build. - - -Using external certificates for CertService and CertService Client ------------------------------------------------------------------- - -This section describes how to use custom, external certificates for CertService and CertService Client communication in OOM installation. - -1. Set *tls.certificateExternalSecret* flag to true in *kubernetes/aaf/charts/aaf-cert-service/values.yaml* -2. Prepare secret for CertService. It must be provided before OOM installation. It must contain four files: - - - *certServiceServer-keystore.jks* - keystore in JKS format. Signed by some Root CA - - *certServiceServer-keystore.p12* - same keystore in PKCS#12 format - - *truststore.jks* - truststore in JKS format, containing certificates of the Root CA that signed CertService Client certificate - - *root.crt* - certificate of the RootCA that signed Client certificate in CRT format - -3. Name the secret properly - the name should match *tls.server.secret.name* value from *kubernetes/aaf/charts/aaf-cert-service/values.yaml* file - -4. Prepare secret for CertService Client. It must be provided before OOM installation. It must contain two files: - - - *certServiceClient-keystore.jks* - keystore in JKS format. Signed by some Root CA - - *truststore.jks* - truststore in JKS format, containing certificates of the RootCA that signed CertService certificate - -5. Name the secret properly - the name should match *global.aaf.certService.client.secret.name* value from *kubernetes/onap/values.yaml* file - -6. Provide keystore and truststore passwords for CertService. It can be done in two ways: - - - by inlining them into *kubernetes/aaf/charts/aaf-cert-service/values.yaml*: - - - override *credentials.tls.keystorePassword* value with keystore password - - override *credentials.tls.truststorePassword* value with truststore password - - - or by providing them as secrets: - - - uncomment *credentials.tls.keystorePasswordExternalSecret* value and provide keystore password - - uncomment *credentials.tls.truststorePasswordExternalSecret* value and provide truststore password - -7. Override default keystore and truststore passwords for CertService Client in *kubernetes/onap/values.yaml* file: - - - override *global.aaf.certServiceClient.envVariables.keystorePassword* value with keystore password - - override *global.aaf.certServiceClient.envVariables.truststorePassword* value with truststore password - - -Configuring EJBCA server for testing ------------------------------------- - -To instantiate an EJBCA server for testing purposes with an OOM deployment, cmpv2Enabled and cmpv2Testing have to be changed to true in oom/kubernetes/aaf/values.yaml. - -cmpv2Enabled has to be true to enable aaf-cert-service to be instantiated and used with an external Certificate Authority to get certificates for secure communication. - -If cmpv2Testing is enabled then an EJBCA test server will be instantiated in the OOM deployment as well, and will come pre-configured with a test CA to request a certificate from. - -Currently the recommended mode is single-layer RA mode. - - -Default Values: - -+---------------------+---------------------------------------------------------------------------------------------------------------------------------+ -| Name | Value | -+=====================+=================================================================================================================================+ -| Request URL | http://aaf-ejbca:8080/ejbca/publicweb/cmp/cmpRA | -+---------------------+---------------------------------------------------------------------------------------------------------------------------------+ -| Response Type | PKI Response | -+---------------------+---------------------------------------------------------------------------------------------------------------------------------+ -| caMode | RA | -+---------------------+---------------------------------------------------------------------------------------------------------------------------------+ -| alias | cmpRA | -+---------------------+---------------------------------------------------------------------------------------------------------------------------------+ - - -If you wish to configure the EJBCA server, you can find Documentation for EJBCA here: https://doc.primekey.com/ejbca/ - -If you want to understand how CMP works on EJBCA in more detail, you can find Details here: https://download.primekey.com/docs/EJBCA-Enterprise/6_14_0/CMP.html - diff --git a/docs/sections/installation.rst b/docs/sections/installation.rst deleted file mode 100644 index c41c0fca..00000000 --- a/docs/sections/installation.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. Copyright 2020 NOKIA - -Installation -============= - - -When enabling CMPv2, *kubernetes/onap/resources/overrides/aaf-cert-service-environment.yaml* file with override values need to be used during OOM installation. -CertService can be easily installed with OOM installation, simply by setting proper flag. -It's possible to also install EJBCA server for testing purposes. It also can be done by setting proper flag. - - - -Enabling CertService --------------------- - -In order to install CertService during OOM deployment, global flag *global.cmpv2Enabled* in *kubernetes/onap/resources/overrides/aaf-cert-service-environment.yaml* file must be set to true. - - -Enabling EJBCA - testing CMPV2 server -------------------------------------- - -In order to install EJBCA server, global flag *global.addTestingComponents* in *kubernetes/onap/values.yaml* file or other file with override values must be set to true. - -Setting this flag, will also cause CertService to load test configuration from *kubernetes/aaf/charts/aaf-cert-service/resources/test/cmpServers.json* diff --git a/docs/sections/introduction.rst b/docs/sections/introduction.rst deleted file mode 100644 index 9d6c7816..00000000 --- a/docs/sections/introduction.rst +++ /dev/null @@ -1,38 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. Copyright 2020 NOKIA -.. _introduction: - - -Introduction -============= - -Overview --------- - -In Frankfurt release AAF was enhanced by Certificate Management Protocol ver. 2 (CMPv2) support. Such support is handled by new AAF's microservice called CertService. CertService provides certificates signed by external CMPv2 server - further on such certificates are called operators certificates. Operators certificates are meant to secure external ONAP traffic - traffic between network functions (xNFs) and ONAP. - - -Context View ------------- - -.. image:: resources/cmpv2_context_view.png - :width: 533px - :height: 315px - :alt: CMPV2 Context View - -It is planned that Network Functions (aka xNFs) will get certificates from the same CMPv2 server and the same CA hierarchy, but will use own means to get such certificates. Cause xNFs and ONAP will get certificates signed by the same root CA and will trust such root CA, both parties will automatically trust each other and can communicate with each other. - - -Functionality -------------- - -In Frankfurt release only `Initialization Request `_ with `ImplicitConfirm `_ is supported. - -Request sent to CMPv2 server is authenticated by secret value (initial authentication key) and reference value (used to identify the secret value) as described in `RFC-4210 `_. - - -Security considerations ------------------------ - -CertService's REST API is protected by mutual HTTPS, meaning server requests client's certificate and **authenticate** only requests with trusted certificate. After ONAP default installation only certificate from CertService's client is trusted. **Authorization** isn't supported in Frankfurt release. \ No newline at end of file diff --git a/docs/sections/logging.rst b/docs/sections/logging.rst deleted file mode 100644 index dba8f3e6..00000000 --- a/docs/sections/logging.rst +++ /dev/null @@ -1,124 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. Copyright 2020 NOKIA - - -Logging -======= - -CertService API ---------------- -To see CertService console logs use: - -- Docker: - -.. code-block:: bash - - docker logs - - e.g. - docker logs aafcert-service - -- Kubernetes: - -.. code-block:: bash - - kubectl -n onap logs - - e.g. - kubectl -n onap logs $(kubectl -n onap get pods | grep cert-service | awk '{print $1}') - -Console logs contains logs for logging levels from **DEBUG** to **ERROR**. - -CertService logs for different logging levels are available in the container: - -- Docker: - -.. code-block:: bash - - docker exec -it bash - - e.g. - docker exec -it aafcert-service bash - -- Kubernetes: - -.. code-block:: bash - - kubectl -n onap exec -it bash - - e.g. - kubectl -n onap exec -it $(kubectl -n onap get pods | grep cert-service | awk '{print $1}') bash - -Path to logs: - - /var/log/onap/aaf/certservice - -Available log files: - - - audit.log - contains logs for **INFO** logging level - - debug.log - contains logs for logging levels from **DEBUG** to **ERROR** - - error.log - contains logs for **ERROR** logging level - -User cannot change logging levels. - -.. _cert_logs: - -CertService client ------------------- -To see CertService client console logs use : - -- Docker: - -.. code-block:: bash - - docker logs - - e.g. - docker logs aafcert-client - -- Kubernetes: - CertService client is used as init container in other components. In the following example: - - ** refers to the component that uses CertService client as init container - - ** refers to name of init container used by the mentioned component. It can be found by executing *'kubectl -n onap descrine pod '* and looking into 'Init Containers section' - -.. code-block:: bash - - kubectl -n onap logs -c - - e.g. - kubectl -n onap logs -c cert-service-client - - - -| Container stops after execution, so all available logs are printed on console. -| User cannot change logging levels. - -Client application exits with following exit codes: - - -+-------+------------------------------------------------+ -| Code | Information | -+=======+================================================+ -| 0 | Success | -+-------+------------------------------------------------+ -| 1 | Invalid client configuration | -+-------+------------------------------------------------+ -| 2 | Invalid CSR configuration | -+-------+------------------------------------------------+ -| 3 | Fail in key pair generation | -+-------+------------------------------------------------+ -| 4 | Fail in CSR generation | -+-------+------------------------------------------------+ -| 5 | CertService HTTP unsuccessful response | -+-------+------------------------------------------------+ -| 6 | Internal HTTP Client connection problem | -+-------+------------------------------------------------+ -| 7 | Fail in PEM conversion | -+-------+------------------------------------------------+ -| 8 | Fail in Private Key to PEM Encoding | -+-------+------------------------------------------------+ -| 9 | Wrong TLS configuration | -+-------+------------------------------------------------+ -| 10 | File could not be created | -+-------+------------------------------------------------+ diff --git a/docs/sections/offeredapis.rst b/docs/sections/offeredapis.rst deleted file mode 100644 index b757b3bd..00000000 --- a/docs/sections/offeredapis.rst +++ /dev/null @@ -1,171 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. Copyright 2020 NOKIA -.. _offeredapis: - -Offered APIs -============= - -AAF Cert Service Api --------------------- - -.. code-block:: yaml - - openapi: 3.0.1 - info: - title: CertService Documentation - description: Certification service API documentation - version: 1.0.0 - servers: - - url: http://localhost:8080 - description: Generated server url - tags: - - name: Actuator - description: Monitor and interact - externalDocs: - description: Spring Boot Actuator Web API Documentation - url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/ - paths: - /v1/certificate/{caName}: - get: - tags: - - CertificationService - summary: sign certificate - description: Web endpoint for requesting certificate signing. Used by system - components to gain certificate signed by CA. - operationId: signCertificate - parameters: - - name: caName - in: path - description: Name of certification authority that will sign CSR. - required: true - schema: - type: string - - name: CSR - in: header - description: Certificate signing request in form of PEM object encoded in - Base64 (with header and footer). - required: true - schema: - type: string - - name: PK - in: header - description: Private key in form of PEM object encoded in Base64 (with header - and footer). - required: true - schema: - type: string - responses: - "200": - description: certificate successfully signed - content: - application/json; charset=utf-8: - schema: - $ref: '#/components/schemas/CertificationModel' - "500": - description: something went wrong during connecting to cmp client - content: - application/json; charset=utf-8: - schema: - $ref: '#/components/schemas/ErrorResponseModel' - "404": - description: CA not found for given name - content: - application/json; charset=utf-8: - schema: - $ref: '#/components/schemas/ErrorResponseModel' - "400": - description: given CSR or/and PK is incorrect - content: - application/json; charset=utf-8: - schema: - $ref: '#/components/schemas/ErrorResponseModel' - /ready: - get: - tags: - - CertificationService - summary: check is container is ready - description: Web endpoint for checking if service is ready to be used. - operationId: checkReady - responses: - "200": - description: configuration is loaded and service is ready to use - content: - application/json; charset=utf-8: - schema: - type: string - "503": - description: configuration loading failed and service is unavailable - content: - application/json; charset=utf-8: - schema: - type: string - /reload: - get: - tags: - - CertificationService - summary: reload service configuration from file - description: Web endpoint for performing configuration reload. Used to reload - configuration file from file. - operationId: reloadConfiguration - responses: - "200": - description: configuration has been successfully reloaded - content: - application/json; charset=utf-8: - schema: - type: string - "500": - description: something went wrong during configuration loading - content: - application/json; charset=utf-8: - schema: - $ref: '#/components/schemas/ErrorResponseModel' - /actuator/health: - get: - tags: - - Actuator - summary: Actuator web endpoint 'health' - operationId: handle_0 - responses: - "200": - description: default response - content: {} - /actuator/health/**: - get: - tags: - - Actuator - summary: Actuator web endpoint 'health-path' - operationId: handle_1 - responses: - "200": - description: default response - content: {} - /actuator: - get: - tags: - - Actuator - summary: Actuator root web endpoint - operationId: links_2 - responses: - "200": - description: default response - content: {} - components: - schemas: - ErrorResponseModel: - type: object - properties: - errorMessage: - type: string - CertificationModel: - type: object - properties: - certificateChain: - type: array - items: - type: string - trustedCertificates: - type: array - items: - type: string diff --git a/docs/sections/release-notes.rst b/docs/sections/release-notes.rst deleted file mode 100644 index daeab0f2..00000000 --- a/docs/sections/release-notes.rst +++ /dev/null @@ -1,176 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. Copyright 2020 NOKIA - - -Release Notes -============== - -Version: 1.2.0 --------------- - -:Release Date: - -**New Features** - - - Client creates subdirectories in given OUTPUT_PATH and place certificate into it. - -**Bug Fixes** - - N/A - -**Known Issues** - - N/A - -**Security Notes** - - N/A - -*Fixed Security Issues* - - N/A - -*Known Security Issues* - - N/A - -*Known Vulnerabilities in Used Modules* - - N/A - -**Upgrade Notes** - -**Deprecation Notes** - -**Other** - -=========== - -Version: 1.1.0 --------------- - -:Release Date: 2020-06-29 - -**New Features** - - - Added property to CertService Client to allow selection of output certificates type (One of: PEM, JKS, P12). - -**Bug Fixes** - - - Resolved issue where created PKCS12 certificates had jks extension. - -**Known Issues** - - N/A - -**Security Notes** - - N/A - -*Fixed Security Issues* - - N/A - -*Known Security Issues* - - N/A - -*Known Vulnerabilities in Used Modules* - - N/A - -**Upgrade Notes** - -**Deprecation Notes** - -**Other** - -=========== - -Version: 1.0.1 --------------- - -:Release Date: 2020-05-22 - -**New Features** - -The Frankfurt Release is the first release of the Certification Service. - - -**Bug Fixes** - - - `AAF-1132 `_ - CertService Client returns exit status 5 when TLS configuration fails - -**Known Issues** - - - PKCS12 certificates have jks extension - -**Security Notes** - - N/A - -*Fixed Security Issues* - - N/A - -*Known Security Issues* - - N/A - -*Known Vulnerabilities in Used Modules* - - N/A - -**Upgrade Notes** - -**Deprecation Notes** - -**Other** - -=========== - -Version: 1.0.0 --------------- - -:Release Date: 2020-04-16 - -**New Features** - -The Frankfurt Release is the first release of the Certification Service. - -**Bug Fixes** - - - No new fixes were implemented for this release - -**Known Issues** - - - `AAF-1132 `_ - CertService Client returns exit status 5 when TLS configuration fails - - - PKCS12 certificates have jks extension - -**Security Notes** - - N/A - -*Fixed Security Issues* - - N/A - -*Known Security Issues* - - N/A - -*Known Vulnerabilities in Used Modules* - - N/A - -**Upgrade Notes** - -**Deprecation Notes** - -**Other** - -=========== - -End of Release Notes diff --git a/docs/sections/resources/OpenAPI.yaml b/docs/sections/resources/OpenAPI.yaml deleted file mode 100644 index 14f8b6bc..00000000 --- a/docs/sections/resources/OpenAPI.yaml +++ /dev/null @@ -1,162 +0,0 @@ -# ============LICENSE_START======================================================= -# aaf-certservice -# ================================================================================ -# Copyright (C) 2020 Nokia. All rights reserved. -# ================================================================================ -# Licensed 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. -# ============LICENSE_END========================================================= -openapi: 3.0.1 -info: - title: CertService Documentation - description: Certification service API documentation - version: 1.0.0 -servers: - - url: http://localhost:8080 - description: Generated server url -tags: - - name: Actuator - description: Monitor and interact - externalDocs: - description: Spring Boot Actuator Web API Documentation - url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/ -paths: - /v1/certificate/{caName}: - get: - tags: - - CertificationService - summary: Sign certificate - description: Web endpoint for requesting certificate signing. Used by system - components to gain certificate signed by CA. - operationId: signCertificate - parameters: - - name: caName - in: path - description: Name of certification authority that will sign CSR. - required: true - schema: - type: string - example: "RA_TEST" - - name: CSR - in: header - description: Certificate signing request in form of PEM object encoded in - Base64 (with header and footer). - required: true - schema: - type: string - example: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJREVqQ0NBZm9DQVFBd2daY3hDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJREFwRFlXeHBabTl5Ym1saApNUll3RkFZRFZRUUhEQTFUWVc0dFJuSmhibU5wYzJOdk1Sa3dGd1lEVlFRS0RCQk1hVzUxZUMxR2IzVnVaR0YwCmFXOXVNUTB3Q3dZRFZRUUxEQVJQVGtGUU1SRXdEd1lEVlFRRERBaHZibUZ3TG05eVp6RWVNQndHQ1NxR1NJYjMKRFFFSkFSWVBkR1Z6ZEdWeVFHOXVZWEF1YjNKbk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQXpRekpQTmhrRURhL3JnUmhJUmpLVDF2RC84Wk9scXA3UmRuYTEybXFIU2FqQ0hHeGR0K1JPZk0vCkpINk9NczZNSjlwNXRJVE5VUWVDUEQ5cE44WkpzMCtOaWQvRE1Nb1B3MW94NnZyNFc5Rnh4K3NGN2hnK05nYjEKNGxvZVZob2EwajlKd1hlc2krSThNbFBObGRMRXlGYnZubDgyNzl0Qjg2dmRpR2g3blFjek8rbnY5elBqZllVcQpIaGlRK1ptMEZjbWFxblVJOG54aWJQNmFMMS9uWFQ3aHlwY0VzOCtpenNZVktqdVdwSjhlZHN0T1NBYTlkWXkrCkVhYTFPTlo5RFRDQzArZmM4S0pBNGJjWVE0T2tPYXFmcnhxY0xMOXZJL1BROWZtYThTUXBmcXVTbmQvbjNOazMKK1NoYnVCclorVnNQRWhsWnBJb2lXdS9scjlrdnp3SURBUUFCb0RVd013WUpLb1pJaHZjTkFRa09NU1l3SkRBaQpCZ05WSFJFRUd6QVpnZ2h2Ym1Gd0xtOXlaNElOZEdWemRDNXZibUZ3TG05eVp6QU5CZ2txaGtpRzl3MEJBUXNGCkFBT0NBUUVBV0N2QlJzTmZ5S0F1NWhIWldWUm8xd2VWSVJvbHQyRWdsSUkzbHI4d0ZlN1hobUtZVlhESzJ3aHEKc2hCakNNQUJHNW90MlBXUE8yK1JLSmsveEh2RXRoQzMybityQlhOS2hHUUJMY3dyeFNBbjVUMHFNa0xzTGJiRAphTU1nTnRiYWxmOC9mVmNWWDY1WTVVb052Y2FScEpvVUdYY1ovZ3kvMG5aWnNXbURkejk1Rys2MXFnY0s3RlhOClB1bENxLy9YNUZkK2NkQy9TTnNxaGtqdlgyd3hYMUZRVVYwcFp0akcwenl3b3JwNE9HSkRiUUxtaWFZSlQ2Ym8KNjAyZ21zWFNTQlJzVWFCOEsxeWMzalRkS043QjYxcjhwYW05NlBxQjdXME13MVRJVFAzQnhJTk5kN1hhNlI5VAo5T3BTcDhFcUZ5R043M3NJN0svbDdNZVJvUm1PUUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0K" - - name: PK - in: header - description: Private key in form of PEM object encoded in Base64 (with header - and footer). - required: true - schema: - type: string - example: "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2d0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktrd2dnU2xBZ0VBQW9JQkFRRE5ETWs4MkdRUU5yK3UKQkdFaEdNcFBXOFAveGs2V3FudEYyZHJYYWFvZEpxTUljYkYyMzVFNTh6OGtmbzR5em93bjJubTBoTTFSQjRJOApQMmszeGttelQ0MkozOE13eWcvRFdqSHErdmhiMFhISDZ3WHVHRDQyQnZYaVdoNVdHaHJTUDBuQmQ2eUw0and5ClU4MlYwc1RJVnUrZVh6YnYyMEh6cTkySWFIdWRCek03NmUvM00rTjloU29lR0pENW1iUVZ5WnFxZFFqeWZHSnMKL3BvdlgrZGRQdUhLbHdTeno2TE94aFVxTzVha254NTJ5MDVJQnIxMWpMNFJwclU0MW4wTk1JTFQ1OXp3b2tEaAp0eGhEZzZRNXFwK3ZHcHdzdjI4ajg5RDErWnJ4SkNsK3E1S2QzK2ZjMlRmNUtGdTRHdG41V3c4U0dWbWtpaUphCjcrV3YyUy9QQWdNQkFBRUNnZ0VBZkN5cUVYYlo0aGZGckpScVhhaXRtN0Z1Mkk0M09YYTBnSENWM3EzV255Q3UKeW9aUGVqV1p0UVpoenEvMVhUOUlFVHAxU2FUQzBiZENYMG5uWmlkbXFuZ2F0c3dUWUpCOVMwaHJ3bW1KemREZwpucmp0Tm1yb0FiL2xWOVpMV01rbVJQeWVwZExiWXpyMlNXUUd0QnlYbnR0RzhSbW9JMGtjZjN3dEJGYUJ4VzFwClFzRUNXUFBpdjNZRDh2SzlSRG9wdmxCMnFZVWxCTm1kQ3AxWEJXMU9OZm5wckUwZFhiYTJxVzB3M3lqU2dJdGYKUWJBSTJZQzJEWlpIK3liRGFMZWVtb0p3dDdPK1F6NWp4SkgwWkFpSnVaNzNpSTVocFBJQlhLamRkU1p1bjRpRwpEOFZaaCtYWE9yQWJxVURXdlN4UW9kdFhYeGNSSS9aWUx5WWR1OHdhd1FLQmdRRHA3UEhwdWFDSk50MlBLV3d6Cll4SDhIYlB1L0pTS2R3UytZek5SNzJaYlUwSmQxWTdPc1JCR1Bvd24zOW55WDlJYzJINXBLc2VJYnpsK1lJS1MKQW9BKy9nbFZZUGpIZ2RmVHF6R01QMm5meVh0dVpFQzdicVBLSVlzL0Qwb0pGQzFkUThwUjFxcXp6NjJEMEUvawpSS1MrVFhpSlkvMlJiQVhDckFDVnNwVmQzUUtCZ1FEZ1prZE45SkhIMjYyRWdLQ3p1Q0NHMXlYa3IrcWVHZ3ozCldWbUtMaGVveitHVXlvVDVuaGlvUTJxNlllYTJ1ODlVYUdGZFk4Y0hIQVdhUy9UdU9FYzdBRHV4eTZsVWpKWkQKU3V0YU80cWk3eXh6UGxNN2w5alVpejV5MldZZGRnWEhLOG82M0pOSHdwd0FYaDgycytTbm9STUZSd1JOTGsyWQp4WmxxRm55WG13S0JnUUNkdEkrWEtmMHY1SnhVUXZIZVp3RWQvb3hySnoraFpnSDl0UFZKWE9PZDJERGEvL25xCklQYysxRFk3UDdBNHRoNzZNWDV2dWxhUkJhTTJMeXgzOFZXeW9pTjZ1d2lkd0V6WU9BY01iVWdjaGtJL3R6am8KNC90cWIxam9KNCtiTlU0c0hXTE43N0pmelRoR3NHN2NEdWNlSVM2Tk9hc2VtanY3OVdmamhHVXN4UUtCZ1FETQpwbHFYVE5uNjlHek9MK1Rmb3FmL2NZMjhmM2N3VXovS0FYRzRwSXF0U1ZGSXVsNEZyTnA5OG1ZT3J5U1RPTHRBCkZxWGRYeGJ2Yysza0p5dXNhaVVFT1JVMzlDNXN6bjVueHBiWHh2K0wweWF0djRSM0QrZ1BCeUtmNlliSWpZOTkKY29GUHAwU21xR1JQclljNEExNGdSclVyRmZabFVUb3hmdHlJTlJQUnl3S0JnUURoSFkvT24vRTNodmo4aHBKRQplMWNuQ2ZsV2VKWlZSdnBPQm96NCtwMVltMzZZZEQ0azBpSEh6anZUUGlBSnNGTFB5VXVTZXI0T3hpN2cvcmYvCklPVjN4bHZyNXdSRmxLYWxvWjY5azkxNm5qdWM0d2lXVzdMbGt1YWptVDhlSUszTU05MU9SL1VFcE16dFMyMHEKZ3hRMEVieTFaMlh6TWlkMEhZZTlVcTJaSmc9PQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg==" - responses: - "200": - description: Certificate successfully signed - content: - application/json: - schema: - $ref: '#/components/schemas/CertificationModel' - "400": - description: Given CSR or/and PK is incorrect - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseModel' - "404": - description: CA not found for given name - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseModel' - "500": - description: Something went wrong during connectiion to CMPv2 server - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponseModel' - /ready: - get: - tags: - - CertificationService - summary: Check if CertService application is ready - description: Web endpoint for checking if service is ready to be used. - operationId: checkReady - responses: - "200": - description: Configuration is loaded and service is ready to use - content: {} - "503": - description: Configuration loading failed and service is unavailable - content: {} - /reload: - get: - tags: - - CertificationService - summary: Reload CMPv2 servers configuration from configuration file - description: Web endpoint for performing configuration reload. Used to reload - configuration from file. - operationId: reloadConfiguration - responses: - "200": - description: Configuration has been successfully reloaded - content: {} - "500": - description: Something went wrong during configuration loading - content: - string: - schema: - type: string - example: "can't parse JSON. Raw result: Exception occurred during CMP Servers configuration loading" - /actuator/health: - get: - tags: - - Actuator - summary: Actuator web endpoint 'health' - operationId: healthCheck - responses: - "200": - description: Service is healthy - content: - string: - schema: - $ref: '#/components/schemas/StatusResponseModel' -components: - schemas: - StatusResponseModel: - type: object - properties: - status: - type: string - example: "UP" - ErrorResponseModel: - type: object - properties: - errorMessage: - type: string - example: "Internal server error" - CertificationModel: - type: object - properties: - certificateChain: - type: array - items: - type: string - example: "-----BEGIN CERTIFICATE-----\nMIIErDCCAxSgAwIBAgIUfYvpzoT6WTxiu2KtxDwdvB56iVUwDQYJKoZIhvcNAQEL\nBQAwYTEjMCEGCgmSJomT8ixkAQEME2MtMGI1YzFhYTBkNzA4NjVjNGUxFTATBgNV\nBAMMDE1hbmFnZW1lbnRDQTEjMCEGA1UECgwaRUpCQ0EgQ29udGFpbmVyIFF1aWNr\nc3RhcnQwHhcNMjAwNDAxMTAyNzAwWhcNMjIwNDAxMTAyNDEyWjCBlzEeMBwGCSqG\nSIb3DQEJARYPdGVzdGVyQG9uYXAub3JnMREwDwYDVQQDDAhvbmFwLm9yZzENMAsG\nA1UECwwET05BUDEZMBcGA1UECgwQTGludXgtRm91bmRhdGlvbjEWMBQGA1UEBwwN\nU2FuLUZyYW5jaXNjbzETMBEGA1UECAwKQ2FsaWZvcm5pYTELMAkGA1UEBhMCVVMw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDNDMk82GQQNr+uBGEhGMpP\nW8P/xk6WqntF2drXaaodJqMIcbF235E58z8kfo4yzown2nm0hM1RB4I8P2k3xkmz\nT42J38Mwyg/DWjHq+vhb0XHH6wXuGD42BvXiWh5WGhrSP0nBd6yL4jwyU82V0sTI\nVu+eXzbv20Hzq92IaHudBzM76e/3M+N9hSoeGJD5mbQVyZqqdQjyfGJs/povX+dd\nPuHKlwSzz6LOxhUqO5aknx52y05IBr11jL4RprU41n0NMILT59zwokDhtxhDg6Q5\nqp+vGpwsv28j89D1+ZrxJCl+q5Kd3+fc2Tf5KFu4Gtn5Ww8SGVmkiiJa7+Wv2S/P\nAgMBAAGjgaQwgaEwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBQ4TWsw5NCfgMjt\nc6sLNV008AniSjAiBgNVHREEGzAZgghvbmFwLm9yZ4INdGVzdC5vbmFwLm9yZzAd\nBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYEFAMyW8sAIjOG\n4qiMVEWuBfliFNeyMA4GA1UdDwEB/wQEAwIF4DANBgkqhkiG9w0BAQsFAAOCAYEA\nCviGRpVZgd4Vr3R3pslegH9GRa1TmCVP8wTD6CUA84VqMzVatcdWbaDFNoCVv54v\nUCYPsN8REx/I53R1jbQ5tralj8JMublrdDaKDQY7OdfjL53nGS4OGl76ZLMt50cF\nnXreoSixCdv3OkPO7+P5szzfnwcCQEa235GfHOxAKv2DIhI8+aFMdi1vTJMYmROs\nYA/6DuJAFjfjPM6T4hzKdW8FPyyUw4kWSNRtt+cxN1JxGDYRt1bnjj7u7nMA5Mge\noWn5oeHLO8rkWgMy0BPxL+YVJhqhdD1fiSek99vmWNUKqmui/4TOXf06SjuMgPgL\nOdp/e2+unwOw+TfdQ/Vu1736IRuWKgLxXOXoOHq2RCZpMgfol2wOFdWSeHWnOag2\nstKD9mmxUaq3wactkVQEkljo3vOgw3D829jC5BOVASxoYoiNzRQlpXrP+kj9QPt0\nZN6haQCgjejHOVpKeuUNoZTUyH+2MwpANLiaJjQcZrwt8N9bAN7WilY+f7CHwMK+\n-----END CERTIFICATE-----\n" - trustedCertificates: - type: array - items: - type: string - example: "-----BEGIN CERTIFICATE-----\nMIIEszCCAxugAwIBAgIUK3BbY7jXBtQfSMhob3Ls9BoorbYwDQYJKoZIhvcNAQEL\nBQAwYTEjMCEGCgmSJomT8ixkAQEME2MtMGI1YzFhYTBkNzA4NjVjNGUxFTATBgNV\nBAMMDE1hbmFnZW1lbnRDQTEjMCEGA1UECgwaRUpCQ0EgQ29udGFpbmVyIFF1aWNr\nc3RhcnQwHhcNMjAwNDAxMTAyNzAwWhcNMzAwNDAxMTAyNzAwWjBhMSMwIQYKCZIm\niZPyLGQBAQwTYy0wYjVjMWFhMGQ3MDg2NWM0ZTEVMBMGA1UEAwwMTWFuYWdlbWVu\ndENBMSMwIQYDVQQKDBpFSkJDQSBDb250YWluZXIgUXVpY2tzdGFydDCCAaIwDQYJ\nKoZIhvcNAQEBBQADggGPADCCAYoCggGBAJ5UAlOGkFyyjyDfFBADJrVzce5/wvNC\nDzL8OoB5CRa22NxHZqPL6fNpqexH1alE7ko/g+vvu1BLHnjKzglVMVV880jjG/tq\ngUf9syfmRdRcgPUrF71dOTNw52ZGB23e8es7VQNYca5QH0mfjaw2AxKf4pNzScTi\nbYXw/KxuoeBHP2ybKhSCxau1k6eePUEkpzHlu33XjtTKGRklCo4lDslLtMOV0gWm\nJj2pd9v+/qY9AMio1XkqczGmnGrSRDD7fp+3WpBI2Q4ZaDZZHnzg/9TXmpBGWhwi\n5Ca5e9Cmb9WGjE8W4uICyvaBSmvsGqB2nBjLC0rBUyJxkMxaxZYxoWbegCqlnwgo\naG2OMbGq1qO/U5ArW9WppovA9y540j49CuYWgvf2pH21GzQX2uCtiHDge01exko/\np7c8/20B0rNjyvBFM9s2NOQ4wCIrLVKPClX3mpzuIGliRpnXnC6FQMrC4yNvyO7s\nB2PwzesXaBdD07AfXpYtSaHeqLZafMtqRwIDAQABo2MwYTAPBgNVHRMBAf8EBTAD\nAQH/MB8GA1UdIwQYMBaAFDhNazDk0J+AyO1zqws1XTTwCeJKMB0GA1UdDgQWBBQ4\nTWsw5NCfgMjtc6sLNV008AniSjAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQEL\nBQADggGBAImYiKkQfR52L2NzjuHI6y8darhBNpZSNf5Hhzv5MOs6yKJSFxh6mQFg\nRfF860AbxgxAfE8bvK2IX+W6b193ecFXAOrRc+UcEyqTg2efqp2zuCdQpnA4nopf\n+474iRkAHdlwdeI0FTE931AOCMfKaQAiEn40Xo3xB09xvMhK7ce2xkxFp90uqbyZ\nwXPRORUj5rKhCiL10jkgXmTfGGlzgQfpHxQxnwQzuAPcv31l+0YVZpDpkSP8A2ts\nmS/yGFfBylyPnGa/+mChZoI7AAKUZ0QWSTDVQLFW6RIs0ByX9zPZqQx0ncGzXH++\nmLu/33YpyjfcjFzvhFVRJCNpELTa0aCElDcD+LIiz80fFP3bxbI42ifYXbt+k/8w\nAB8Ffh1GOneWnaOl42mghNs6ve9e+PjOphYS1sQI74b0liXQdI4tmobAyPoACpgR\ncJ9DAfYtkpMQjxkV/FUM92m76WQpFnIRNQl6C5XLzWHCAVvS+MxEydtINsl4FCvw\nPDdu3P8UkA==\n-----END CERTIFICATE-----\n" diff --git a/docs/sections/resources/certService_cert_enrollment_flow.png b/docs/sections/resources/certService_cert_enrollment_flow.png deleted file mode 100644 index 87d15adc5a2c90832c7ae5c786dc94214b040b7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143610 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�d>$O2=a&Z^eQ=0Y*1P6( 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

Eo1`M)%EV?H%@6P@KN8q@lU_Bge`-G z{|-oYW^_l5I5>OR@ch&Ost39y+WY8R=B&fu4a&iIp^7EZ= z5~ojZw`>BjoxB$U`c_)%p`=s;`nQky9YBIq(^RnN%=Gk9E@x2AKeGU^c<-`FypAh~ zT*g;&46E>61ky0<{b)_iUkcXLT^^c4lT+yURz~Bh~u> zl#g6(=Y)aJ#|M3`X8t}0IY=of>^%b+O8ID(m9v>LtdH+-fERBF#FsGvpW%2oVM=+a zEwOP~x(G?Q`<2@i8n>+BXQ;(M4glGi2SGvL>VkDa!gazus87+FolCgmBe&qeb)}#9DlztNQ}VVPWJX>;)fx} z%;;QZ+T-9_;1$?rLPA0pFJ7dOj&-W8u0@4~vmVcah;faDXzL~LL%SkQ~RyN+hQdKJ^D z@KOqq3yLHs+5G-JT!vc$mKQIEM>7XxXWPL}vFyjyL%GUiM4AA6xo)Mct82x)(61cA zBoyE;ZEaBUVUM9D`6Yv>&t8_hK#(8!J2P9EFoPR~?F7C9MRyQb7xmhB2hIVC3Y_o| z`fvX)H5e8`?fe}}GqaB^E%)N%n>Fn0?B=n{8OV@00A#oo2KcT)&4TGXYMCKd;Nt8J zFbt0mjUFDyl)$}#*gafai4Y~AWJR6*j9>wR6fD6`!1m6k0jpqhDBoqPpHDXR@+t!d zesJQ#!6?8I0hV-BS+Scn8#@?i5{x{(yjGWIyWtm3>r;blp>%tBdM>1|CyZ~L(%NDK z_38(kuq{-52#MHe@Q&`@y^9rUzVS55bMk?Z*x1<6&{OjA1hUna3`5vBmQ68<+Rq?? zK$?RJqRu-7?`5k0{jZKN^g_$sVQ|+#vryfjX=IfzT!tPK`|QP&CqF@pu&L@Qq-TZp z?yYXhN=r+FMTn&kx?SZDvy-}utu4$s&IT|-oDJGNIyI;x+EY)X+jvh^xA)?m&K7a+ zC0A@uz)g4>ux$*Cj9e-!5wa>9592C zG}szHbgT%O6G}uySU4*qV-(dB1b*zBDi((9wQqU2f=ck1HBfJR1ll5EW2dXwc zo4U&(QoZtm1`@O83xxqLe~NiO7Up{>0z3 zxD`5cf@Kz=s*+DYz!UOEWo2b^iO#25iUcc+#0!!Navn2uTzSy-*X#~NXx_uSg~f|> zjD25WZf>-cOJ+qyMNEvb&nH$wOGFQ?t?NRD)bVArqUo(}Gozq;(TJ1a^^xwuezYtw zgRP(y1RMz23B(3`PKBL47O5Af7rbCj{cOi0Du53scH}eCvA|zKe{YVHnVOzPl?}Ol z+kJIq8D_!7rkG+Bme;Sz@Q+}t;#7?c4KH1}0x{d9q8ybAdStx!!n2BWxw=;#vqIwH z1}Jpu>Q_68?68!1I=_8$A8pT$ap?w|K)V2fqp$UxvAEt3ExXUWPtI$>5$-jXh`YOc ztlLjzbXnN&Fb8^Le@kZ$4OelV*3uHS?ht2OpLr&KKOf%!`X>Y*?}h10wze;UC2rlS zkCAWyL4i@iCn$K$#-_runPcW^F=1M$L&4S6wf1cjgj_s+e=8^}NkWGQdclbx98~VJ zDk~(Uapued>ID3L5fUy1j?TM^`r!FB=K@F(>DTq^>!C3MGWz5M+`WZw0WpkNyoV-J zH>US!!so?Y#_wDg2XW40WgDrf!+gGqDF7o}>v|<2CKhqP2U4(^*^}Vl&Gi?}&8OfW z$z~mvqnfd>6d~ahDB47GvyHWNxz}RB!-rpRBBC|W@F67id*)*c;(7vEocMzE9+QlC z6HHj}zKM=%s8|#wmN&u;Xc`1#GPd$&NQgQ%Gz=_w+5_7Hs?G4*F0yieYU;PTHv>7= z8>(j#L~B4}V$7SIUajY;OD%~zruW&+5E&AYv+n{O)LclAc=$g5o@qd(A;gAXF z8|&Av7pXy$g>#7$AHAN{`ynjD0H}?$*A_gDwVQQ{_hquqq4CuT*+U?2B%d3?1p^n!C7X#{X`|hvE zMW8UiKo8w@REV3K%Dkh!eXg3-1jU&|BC(0v63o@pT2V7XMKw;H0)2i3H0|eCRqGv7 zGJZyZxqV}uK`ONT-siqDG((6*K>?k&iGKX}c~({^J^BHKwZ(rb)S(%z_x|yk8oG8< z-6&oUsO2pQ8-#kph79B4@Z`3(w$L477g0UgljK7tp!c?A80K1cmYh!43%d{R8?N#v zT|sool!Nxy`luAaVnRiI`L02u}F#ful%{^+wvn7t*%OE}!UDpvS>Q;Y;fpq4;X49x17Gc$>ik(`=U?lKmak#SW`P0h;cX?*6Q)2zJC2RtRImYoG%CkDhC)0oU>RtTWQ~)t zg*M%0=N>5mv~_#U#v+yn`JaES&jAoCO;SA$3roZ*;p02%^2bR3qFeC{3|yCv*5OkLC1(@h6$yzlDG1p#{MpTJ9#uRIoqKOaDin|V|e z74;SJ9wfr%yG!C&<#s1d(7F{NTmW2u4PIfyUN%Wb==NL8mvE0KcU7*`VG#l_hF|S9 zvqEne&GqUmaY9J*!q~U2F7Li~4~$=Ija{c@Du?X`IsOoN5SO5mWP<4F5{=^V<6hQU zkeG>F8#mrO_w=GZU3-KVDm4XS6oc>#gF4weI`X_20$m1Zz|La{rsPD9AFsxXoDVsC z=uq9?NXi|JG%z;KNKaQQxNtyF@IhD@R|CNLSa(G&`;$swR0x-+curlujKwTiW1yhm zw|tEgl)%_n`u-F7xKNHQZno5Qf$9m`h&kGAZ&u^R-nnvR1RyWO4lwA_W{Xu{fZj&} zPNU5WN~-Fa;h8fhcs=IZ16r}jAm=~DC4dkT8VZ6w z%cq9$QmNY%!U?BNoH+B+bX{8)>RbK6p^Yd0p=sZ~9U3~|DLIEli&_sm18y3S#BV=V z>gjSAv*@oV{4mcr1L_pzuK;o8U;aG6;+VE%UCi(c+XofVdov2xMftrQ_7Ur*SN5 zX`ylcLrkc!71O$u7a zCL$)jeXH0sA0?}ogYT17P$tOaC(ob1gWm>e0?P&Gh;~$6T}@1cKM*mbgtM$utVBjj zNI-z6H6=1S8nJK0!8G~rgMMfs4>XC+`=`62yZ+J7T)JTXmYNz~S=l%-O3Vbr9o7+i zZ&*i}nY=dVYd56YqPCj34r&+KBcd)o6sqV59?K=yO!tct?zMb}gcEzHDa zWiMxdw6rurI>kHJGmx<-eP;i}0?%b-jX`68C;lG}2)LO_6TlwAjqhV5B2J`~6cw>a z*elAL8oaXe-&t%oHZX9L9wK>}=lsEiF>i%OVPg#1%sr~8Uv$T@8IT^NXJdPHp@Ain zh6L9Qs2g<5F;yNl2wUav@ad1&a+8yLQOckPFf4Af)YM4SM4#BkCZ6!*i9Kj9)yA!k z0{@W<>#C~q8}LTb2t-c;FyLItmJROPjMsTL0v33$%ntxd?7RbbeZ;!Mb+jG2*_~78 zc7hp4)Y8rmw!hRiGJ+o$LXVb!2qf>dL!(b*zl^@FZfkSFGB#$tgYE@o+xd0CCR9Cu z{Sv!hH1$WIlL1k11;C7+29OBQw0sj6M(nru2kU2bkKVjD%3zzbO}<6S!WTgwGVz6BE)50NW0TR7;j0d5MB%Duq)`4bS zmufUWnK-U8N{5k=0L|Uf{U85bNTHZe7;E56`v@fW5UCxj4|_68x#H8GJyXSx5D}J+ zY6(SH-?zjwXSP6SHI)v2upV|7U;tDC2#O9MG!RYjU6*%=4*-E8ATBU;9)EU!RF)<9 zxb+}3S_lMj(;Ehw@t3u=H#>|MjF-9(Mk>1wdd!V;t=4V^X^tLXyz%P!^ZnCdO?L6e zabJ)=MCTrz4HVFnq^GCn^pU`O53eu|2neV%(ZDv3@xet#N&mXJQ<}a-O)_qD)JK(# zm!CgKT=oe2s=e0}`m9r|r+T?-i!0CRX==8#wGAw(+k1&it*FVSvuC#!vxu+uEyXx^ z^|*PjNX2b7ZWv_>@Oo_fqEDTfkr7N>nFtR%X|-t?m&bW3_H%3NF(Rgg3Znaby&=_> z0Ad2<;8ehp(QCczBe1f;)|xcl$xxz#G@?u0zYAo$vXEcjJ;va;rOh&_V&Ng8DKib; zi|oeh)(b%dL#`?wxG6Hyz|k=eS(MeK-@kuTtZ7&nZg~l{3e4iuQI8+LX8%zRP2)Ys znC}wJy>9vsk8mY{kJ^nBv%@WcGjj!~5yE6nD~9sw*?!>FpesNCh5C+7Kum<~w`13? zn^?W=?J(3*)6%egz2R^{vWcna!1&%S}dd zwryxHOBLc4 z^YikM6+=W!+G+R`T$Q4O<1s5cxOlj@L@k@xC<|a+yy5TIn3(lcRLEx`>ChEjyKaHW zjm|fOVet2F8I&w+T*PCX6Q3fKc~D{*yxhGYJYh=wlo5?T#zMcq+(1BOC6kq8&_hd4 zx5rjF@@SLWGvyGH0!K#wyGn-z%gp*@IlUFIHF`1>7P3o)a#Lb%#F|jr{nXsX~ z9JCbjd&|%?bY~3Hkw_}vj+Zabe22P(qO?NE5K-c=C60&}{=!ZI670IXJwL#0k(u z6--UNh_FxXCMBfVHR7Z(3N`%m=OhB~$jMk-yr>a%FlG1UZG=I_qV*g6$)_|Xw=gws zlRq10%5koj!*TWxyb3i6NVWvTMgSc*1sN$j$i(3aC?nWnm>@y9ggEu|X;3nL*=M%X z<*Y}{Q~j!XS%TBN#n?6G6Q@>M=!DRScsB4{^8>my%CXp_+WqqU8;~Z%V8o}69y(-P zY`>R_>j%_JBG;~6(Z6a#w>?$bAij4a`-;tukeyrPvtSMbo<4ntBuX|kbOQk!ZR#iZR&CBCR1s>|#%H1B`F6d8c#h;UIxZfVhqTMwSy0$W zAbq1ORSV1o`pRB_*jD?w%w5Dvn!AWBp=^MfBi@B*~E`MdC|2u}sPcr|*LmR4y zV<&7bar4hl)-x5oKC5fwjui zk3eUzHlB$uNO}MK;=j#m{%dISUr#W-xlzkUXl>ZwT|&TZN|Xxb9;Ny<=ddEN1YaBvKv@`6D3-F)j%(*? zjfJM9s5tE<;||q-Z8!ifIhHjX5;t&3P+wOk#Z(haVhq5cJs|c5pASR`c_j;FznDJa zrcJ-wv;D6qLu|Ty>C*XCwK!QMIby}_%|=8i@4Cp~E+<;o4x($*AJ zj8L8u2n*jtO4jzySe1(CKetN)s}}$GF{(-e^*_gp|F!WyB!sRXax6hF*8hpYmG%f9 zN1lEAFamIw9^TbR)#LGfcYM75ap))13Ex3sk9T5cl;RsXj@RoFA-e;@m;e|bG7Wf}1SU{HACfP1)| zOBP;0n79|vSCIF|$4M}d;d^2u1I$1*_nNb(tS?jXDgg5Mep0ElX~dr(Y7yNVBz#Z zEal~W92x03H||$$hRJ47L=MU%t^Do%!osW!4A6Oh3S2`{6QHn~1gCFsXvix^7BK>d zMHj%wjd zkEF$Jkv!*G)}ZxhT*(v@a|?e9vYG=jyx>K7NOGQa&p~0AM778FW8_W(W$w^P8QSai;OFGRvN8y9p6y$Z`LJ6O5|4Prx{1Vq$zNd+vU~F5L1wErdX_ zrg33z|AlNryWKe?n-Sj>*MZT3`!WAWQ%fuR>erl(jt*!H4<0>&b3NId1s4hH|IC?p zQFC(>=Cpwy^N+2q{=twR-@ow)2sE0CK++Ot0)~J#`~fnViHQvy?4@}JT*7~kvmkV{ zl7iVwOb=>5(*=;kw1ZhT*4v!!v9%D%0Z~x~F5RDjxnk z8&jbca^3%-=HYy1dhOO~<@jrJ5+CXNCd%t#2Ji#R{~g@3npykM1Jd0aV-9}!@d6=) znX1zF9~H!%LHf#8w2{H@|5ZE|yP-tgyX7VEyQ@qJPJsDd^pw9>A7BbbPC~W568q#n zJhAS4$}7p6kUAbwOgSbva<)Cb{{H@ffz?3sHFw!57Fs|HNENESY5`m$H1YoRKdy^% z{G*=Ck6{=MaUbU#J?KH03DeWpUyV7ogB}J323w${)vRO^38sU-$Uf6#RCTgox45B$ zVe}WU99#y$HUM}`@_l~){*H{+E;7HQGB_vDK&}7;;UOG@?BaouG>9MMy3S5m$-hCwaLhk{{#ZDd{^#gj z3o;ehYAk|h@YxaPFJ7Dh;{})iMpy=3SpHKw=00_ja`P)IeK(3p##&#y#tz|ugX69! zj1{yEkVf%b0P6#soP_@v`zJ=_A#Qr#0%2DOaMh&l3LlfxrvV5K%gJGE?kDE= z*3u*JPyqSOLztMDU@6=d)lgLx6%nzzbSbfQ2q%w;7m_*5e>i6|U4{Z*0yZ%<#mj|? zQc}6VSyAf!7)U`67pcK200x87&)a8t;llY4crwUR&Eb1kKdP$rl;RFNj>b!gJ;dC< zpPZC*?D=_=LTDZ=!O$}))_=$Zpw+djS79ZP=x#tf!8u?)0-n2q!nzt)^jus{(l1b0 zOi?0DZWf}SVW4pCAy^@@2HCS+!h}kZL+w6R1k!6n_qIM+F{Yz2$I63ZgIZ1GTDQ&* z7M&*w7$#2V+Iex)h+L2fH*LBFwa=(>=^o!IMpwosl^No~^cHlbb!q&htiB^Hz(d z)vbhw51(*d-uE~og^PH7=N@vW)!^7t#>JyT(!PVu3t+r}K4|6ZT_$<|z!sHtLOg9JufN}jerLk`CcM+`#t_3b6m z4cq*^L@xaP+fnj@p-|h===V+U-=8%xQ47C+A_W?h54&irh7{Y@<^0c=^Uu6MZxni@ z7S2=lq0b(9L`{BOef_jT{@dELIk%r+deT7PAuxm&l%o7k)`|I|T``>Sj zPPk6adnRh$yD$$86!60#n0`<6d-t-g+m?~d1Hsi#cvK;;Jx(p|v<|J+IpJ->_I6+j z&;=hiq06?Oup$|!O#LZitW2u6+3>}e+1c5FfdNQln*7PnpVRM&sK-YQ$;!x_9*t}0 z!-{7>53qr_QAUP>dbfBs#g*SJXmzO78m-_pah?Id_F|n!Y&#s=H8Lqs9 z@x}6npNyvDi}9Ns#n~`{=qKMZKCXHCGs-W`jJHr#F*u2sEs6({ zy4c~XpH;$>pAVy>p&}!OIWtqhqnd4ixuMHWPM}BW1U>k_DeL3`^yxbdk(+&zK`e8fw=a03E zOW{vT;Op+kRo7yQ3U#)e;Guj{%z`He3S+$3;_dOHx9i@Na8ZgQ+`nCum;kGNscFo*K%0RyecR%H$k{W|3)BmPQ|9+G(1zHQr zM;BFw);gO~4sLdwM9@4g9ZLJu@PSUxyLY!Ok~>(V-G`s0#kmiw-3<-h61;B7fpU^K sg#)kgCl?hdpA{g&t<4EmzGHc#Y)Ssza=#}x@FRliaSg>xvg!5z1MNh>&;S4c diff --git a/docs/sections/resources/cmpv2_context_view.png b/docs/sections/resources/cmpv2_context_view.png deleted file mode 100644 index 85570cbe6de24f48cb02ad3671fe274a06825d7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20201 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 Qioi=%Q9~g^-uU+a1rcK$>Hq)$ diff --git a/docs/sections/troubleshooting.rst b/docs/sections/troubleshooting.rst deleted file mode 100644 index 192a9d6a..00000000 --- a/docs/sections/troubleshooting.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. Copyright 2020 NOKIA - -Troubleshooting -================ - - - diff --git a/docs/sections/usage.rst b/docs/sections/usage.rst deleted file mode 100644 index 759284bd..00000000 --- a/docs/sections/usage.rst +++ /dev/null @@ -1,211 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. Copyright 2020 NOKIA - -How to use functionality -========================= -Common information to docker and Kubernetes modes described below - -Basic information ------------------ -CertService client needs the following configuration parameters to work properly: - -1. Parameters for generating certification artifacts and connecting to CertService API to obtain certificate and trust anchors - - - REQUEST_URL *(default: https://aaf-cert-service:8443/v1/certificate/)* - URL to CertService API - - REQUEST_TIMEOUT *(default: 30000[ms])* - Timeout in milliseconds for REST API calls - - OUTPUT_PATH *(required)* - Path where client will output generated certificate and trust anchor - - CA_NAME *(required)* - Name of CA which will enroll certificate. Must be same as configured on server side. Used in REST API calls - - OUTPUT_TYPE *(default: P12)* - Type of certificate which will be generated. Supported types: - - - JKS - Java KeyStore (JKS) - - P12 - Public Key Cryptography Standard #12 (PKCS#12) - - PEM - Privacy-Enhanced Mail (PEM) - - -2. Parameters to generate Certificate Signing Request (CSR): - - - COMMON_NAME *(required)* - Common name for which certificate from CMPv2 server should be issued - - ORGANIZATION *(required)* - Organization for which certificate from CMPv2 server should be issued - - ORGANIZATION_UNIT *(optional)* - Organization unit for which certificate from CMPv2 server should be issued - - LOCATION *(optional)* - Location for which certificate from CMPv2 server should be issued - - STATE *(required)* - State for which certificate from CMPv2 server should be issued - - COUNTRY *(required)* - Country for which certificate from CMPv2 server should be issued - - SANS *(optional)(SANS's should be separated by a colon e.g. test.onap.org:onap.com)* - Subject Alternative Names (SANs) for which certificate from CMPv2 server should be issued. - -3. Parameters to establish secure communication to CertService: - - - KEYSTORE_PATH *(required)* - - KEYSTORE_PASSWORD *(required)* - - TRUSTSTORE_PATH *(required)* - - TRUSTSTORE_PASSWORD *(required)* - -CertService client image can be found on Nexus repository : - -.. code-block:: bash - - nexus3.onap.org:10001/onap/org.onap.aaf.certservice.aaf-certservice-client:$VERSION - - -As standalone docker container ------------------------------- -You need certificate and trust anchors to connect to CertService API via HTTPS. Information how to generate truststore and keystore files you can find in project repository README `Gerrit GitWeb `__ - -To run CertService client as standalone docker container execute following steps: - -1. Create file '*$PWD/client.env*' with environment variables as in example below: - -.. code-block:: bash - - #Client envs - REQUEST_URL= - REQUEST_TIMEOUT=10000 - OUTPUT_PATH=/var/certs - CA_NAME=RA - OUTPUT_TYPE=P12 - - #CSR config envs - COMMON_NAME=onap.org - ORGANIZATION=Linux-Foundation - ORGANIZATION_UNIT=ONAP - LOCATION=San-Francisco - STATE=California - COUNTRY=US - SANS=test.onap.org:onap.com - - #TLS config envs - KEYSTORE_PATH=/etc/onap/aaf/certservice/certs/certServiceClient-keystore.jks - KEYSTORE_PASSWORD= - TRUSTSTORE_PATH=/etc/onap/aaf/certservice/certs/certServiceClient-truststore.jks - TRUSTSTORE_PASSWORD= - -2. Run docker container as in following example (API and client must be running in same network): - -.. code-block:: bash - - docker run \ - --rm \ - --name aafcert-client \ - --env-file <$PWD/client.env (same as in step1)> \ - --network \ - --mount type=bind,src=,dst= \ - --volume : \ - --volume : \ - nexus3.onap.org:10001/onap/org.onap.aaf.certservice.aaf-certservice-client:$VERSION - - - -After successful creation of certifications, container exits with exit code 0, expected log looks like: - -.. code-block:: bash - - INFO 1 [ main] o.o.a.c.c.c.f.ClientConfigurationFactory : Successful validation of Client configuration. Configuration data: REQUEST_URL: https://aaf-cert-service:8443/v1/certificate/, REQUEST_TIMEOUT: 10000, OUTPUT_PATH: /var/certs, CA_NAME: RA, OUTPUT_TYPE: P12 - INFO 1 [ main] o.o.a.c.c.c.f.CsrConfigurationFactory : Successful validation of CSR configuration. Configuration data: COMMON_NAME: onap.org, COUNTRY: US, STATE: California, ORGANIZATION: Linux-Foundation, ORGANIZATION_UNIT: ONAP, LOCATION: San-Francisco, SANS: test.onap.org:onap.org - INFO 1 [ main] o.o.a.c.c.c.KeyPairFactory : KeyPair generation started with algorithm: RSA and key size: 2048 - INFO 1 [ main] o.o.a.c.c.c.CsrFactory : Creation of CSR has been started with following parameters: COMMON_NAME: onap.org, COUNTRY: US, STATE: California, ORGANIZATION: Linux-Foundation, ORGANIZATION_UNIT: ONAP, LOCATION: San-Francisco, SANS: test.onap.org:onap.org - INFO 1 [ main] o.o.a.c.c.c.CsrFactory : Creation of CSR has been completed successfully - INFO 1 [ main] o.o.a.c.c.c.CsrFactory : Conversion of CSR to PEM has been started - INFO 1 [ main] o.o.a.c.c.c.PrivateKeyToPemEncoder : Attempt to encode private key to PEM - INFO 1 [ main] o.o.a.c.c.h.HttpClient : Attempt to send request to API, on url: https://aaf-cert-service:8443/v1/certificate/RA - INFO 1 [ main] o.o.a.c.c.h.HttpClient : Received response from API - DEBUG 1 [ main] o.o.a.c.c.c.c.ConvertedArtifactsCreator : Attempt to create keystore files and saving data. File names: keystore.p12, keystore.pass - INFO 1 [ main] o.o.a.c.c.c.c.PemConverter : Conversion of PEM certificates to PKCS12 keystore - DEBUG 1 [ main] o.o.a.c.c.c.w.CertFileWriter : Attempt to save file keystore.p12 in path /var/certs - DEBUG 1 [ main] o.o.a.c.c.c.w.CertFileWriter : Attempt to save file keystore.pass in path /var/certs - DEBUG 1 [ main] o.o.a.c.c.c.c.ConvertedArtifactsCreator : Attempt to create truststore files and saving data. File names: truststore.p12, truststore.pass - INFO 1 [ main] o.o.a.c.c.c.c.PemConverter : Conversion of PEM certificates to PKCS12 truststore - DEBUG 1 [ main] o.o.a.c.c.c.w.CertFileWriter : Attempt to save file truststore.p12 in path /var/certs - DEBUG 1 [ main] o.o.a.c.c.c.w.CertFileWriter : Attempt to save file truststore.pass in path /var/certs - INFO 1 [ main] o.o.a.c.c.AppExitHandler : Application exits with following exit code: 0 and message: Success - - - - -If container exits with non 0 exit code, you can find more information in logs, see :ref:`cert_logs` page. - -As init container for Kubernetes --------------------------------- - -In order to run CertService client as init container for ONAP component you need to: - - - define an init container and use CerService Client image - - provide client configuration through ENV variables in the init container - - define two volumes: - - - first for generated certificates - it will be mounted in the init container and in the component container - - second with secret containing keys and certificates for secure communication between CertService Client and CertService - it will be mounted only in the init container - - mount both volumes to the init container - - mount first volume to the component container - -You can use the following deployment example as a reference: - -.. code-block:: yaml - - ... - kind: Deployment - metadata: - ... - spec: - ... - template: - ... - spec: - containers: - - image: sample.image - name: sample.name - ... - volumeMounts: - - mountPath: /var/certs #CERTS CAN BE FOUND IN THIS DIRECTORY - name: certs - ... - initContainers: - - name: cert-service-client - image: nexus3.onap.org:10001/onap/org.onap.aaf.certservice.aaf-certservice-client:latest - imagePullPolicy: Always - env: - - name: REQUEST_URL - value: https://aaf-cert-service:8443/v1/certificate/ - - name: REQUEST_TIMEOUT - value: "1000" - - name: OUTPUT_PATH - value: /var/certs - - name: CA_NAME - value: RA - - name: OUTPUT_TYPE - value: P12 - - name: COMMON_NAME - value: onap.org - - name: ORGANIZATION - value: Linux-Foundation - - name: ORGANIZATION_UNIT - value: ONAP - - name: LOCATION - value: San-Francisco - - name: STATE - value: California - - name: COUNTRY - value: US - - name: SANS - value: test.onap.org:onap.com - - name: KEYSTORE_PATH - value: /etc/onap/aaf/certservice/certs/certServiceClient-keystore.jks - - name: KEYSTORE_PASSWORD - value: secret - - name: TRUSTSTORE_PATH - value: /etc/onap/aaf/certservice/certs/truststore.jks - - name: TRUSTSTORE_PASSWORD - value: secret - volumeMounts: - - mountPath: /var/certs - name: certs - - mountPath: /etc/onap/aaf/certservice/certs/ - name: tls-volume - ... - volumes: - - name: certs - emptyDir: {} - - name tls-volume - secret: - secretName: aaf-cert-service-client-tls-secret # Value of global.aaf.certService.client.secret.name - ... - -- 2.16.6