Aller au contenu principal

Gestion d'un certificat custom

Contexte

Dans le cas où le serveur de l'API possède un certificat signé par une autorité non publique et ne faisant pas partie des autorités connues par Okapi, il faut définir la clé publique de l'autorité dans Okapi afin que la négociation TLS soit en succès.

Les autorités connues par Okapi

Voici la liste des autorités connues par l'APIM, en plus des autorités publiques :

  • C = FR, O = Certinomis, OU = 0002 433998903, CN = Certinomis - Root CA
  • C = FR, O = LA POSTE, OU = 0002 356000000, OU = Branche Services-Courrier-Colis, CN = AC racine La Poste BSCC
  • C = FR, O = Certinomis, organizationIdentifier = NTRFR-433998903, CN = Certinomis - Root CA G4
  • CN = AC_Racine_Production_SHA2, OU = DISFE, O = La Poste, C = FR
  • CN = AC_Racine_Hors_Production_SHA2, OU = DISFE, O = La Poste, C = FR

Votre autorité n'est pas dedans

Cas 1: il s'agit d'une nouvelle autorité transverse

Alors contacter le support afin de demander l'ajout de votre clé dans le truststore Okapi.

Cas 2: il s'agit d'une autorité spécifique

Dans ce cas, vous pouvez définir cette autorité dans la configuration yaml de l'API:

api:
name: My API
urlContext: myapi
version: "1"
...
extra:
agentOptions:
ca: |-
-----BEGIN CERTIFICATE-----
<Certificat Racine>
-----END CERTIFICATE-----

Autre solution, temporaire car ce n'est pas une pratique, est de désactiver la vérification du certificat, en utilisant la configuration strictSSL.