You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 27 Next »

Specification

REQ - 140 Create Client, Plugin using Client and mechanisms for using CMPv2 as a CA

Team

RoleNameE-mail
SpecificatorPawel Baniewskipawel.baniewski@nokia.com
CommiterBogumil Zebekbogumil.zebek@nokia.com


Project details

Requirements for developers

Licenses

LibraryVersionLink to maven repoLicense
assertj-core
3.15.0
https://mvnrepository.com/artifact/org.assertj/assertj-coreApache 2.0
mockito-core
3.2.4
https://mvnrepository.com/artifact/org.mockito/mockito-coreMIT
spring-core
5.2.3.RELEASE
https://mvnrepository.com/artifact/org.springframework/spring-coreApache 2.0
spring-boot-starter
2.2.4.RELEASE
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starterApache 2.0
maven-javadoc-plugin
3.1.1
https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-javadoc-pluginApache 2.0
maven-surefire-plugin
3.0.0-M4
https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-surefire-pluginApache 2.0
spring-boot-starter-actuator
2.2.4.RELEASE
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuatorApache 2.0
spring-boot-starter-log4j2
2.1.5.RELEASE
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-log4j2Apache 2.0
springdoc-openapi-ui
1.2.30
https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-uiApache 2.0
bouncycastle
1.60
https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15onMIT
docker-maven-plugin
0.33.0
https://mvnrepository.com/artifact/io.fabric8/docker-maven-pluginApache 2.0
springdoc-openapi-maven-plugin0.2https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-maven-pluginApache 2.0
gson2.8.6https://mvnrepository.com/artifact/com.google.code.gson/gson/Apache 2.0
spring-cloud-starter-config
2.2.1.RELEASEhttps://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-config/Apache 2.0
docker-maven-plugin0.33.0https://mvnrepository.com/artifact/io.fabric8/docker-maven-pluginApache 2.0


Tips & Tricks

Run Jenkins Builds

How to create new project in ONAP

  1. Create a repository in gerrit
    1. Create a ticket at https://jira.linuxfoundation.org/servicedesk/customer/portal/2/create/102?q=create%20repository&q_time=1581674068823
  2. Configure pom.xml in project
    1.  An example: https://gerrit.onap.org/r/gitweb?p=aaf/certservice.git;a=blob;f=certService/pom.xml;h=3f17f3904b45f48007c7cf10cb54b2b814447226;hb=HEAD
  3. Configure Jenkins Jobs
    1. https://gerrit.onap.org/r/c/ci-management/ /101668
    2. Contact person:
      1. jwagantall@linuxfoundation.org
  4. Documentation
    1. An example:  https://gerrit.onap.org/r/#/c/cli/ /101293/
    2. Contact person:
      1. sofia.wallin@est.tech
      2. jwagantall@linuxfoundation.org

How to run CertService Client

As standalone docker:

Create file with environments as in example below.

client_docker.env
#Client envs
REQUEST_TIMEOUT=1000
OUTPUT_PATH=/var/log
CA_NAME=RA
#Csr config envs
COMMON_NAME=onap.org
ORGANIZATION=Linux-Foundation
ORGANIZATION_UNIT=ONAP
LOCATION=San-Francisco
STATE=California
COUNTRY=US
SANS=example.com:example2.com

Run docker container with environments file and docker network (API and client must be running in same network)

AAFCERT_CLIENT_IMAGE=nexus3.onap.org:10001/onap/org.onap.aaf.certservice.aaf-certservice-client:latest
DOCKER_ENV_FILE= <path to environment file>
NETWORK_CERT_SERVICE= <docker network of cert service>

docker run --env-file $DOCKER_ENV_FILE --network $NETWORK_CERT_SERVICE $AAFCERT_CLIENT_IMAGE

As init container for K8s:

Sample deployment
... 
kind: Deployment
metadata:
  ...
spec:
...
  template:
  ...
    spec:
      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: http://aaf-cert-service-service:8080/v1/certificate/
            - name: REQUEST_TIMEOUT
              value: "1000"
            - name: OUTPUT_PATH
              value: /var/log/certs
            - name: CA_NAME
              value: TEST
            - 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
          volumeMounts:
            - mountPath: /var/log/certs
              name: certs
		...


Client's exiting codes:

CodeInformation
0

Success

1Invalid client configuration
2Invalid CSR data 
3Failed key pair generation
4Failed CSR generation
5API return unsuccessful response
6Problem with Http Client connection
7Failed PKCS12 conversion
8Failed Private Key to PEM Encoding






  • No labels