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 :

  • CN = Certinomis - Root CA, OU = 0002 433998903, O = Certinomis, C = FR
  • CN = AC racine La Poste BSCC, OU = Branche Services-Courrier-Colis, OU = 0002 356000000, O = LA POSTE, C = FR
  • CN = Certinomis - Root CA G4, organizationIdentifier = NTRFR-433998903, O = Certinomis, C = FR
  • 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
  • CN = LBP_RootAC_2021, OU = LA BANQUE POSTALE SA, O = DSIBA
  • CN = LBP_RootAC_HP_2021, OU = LA BANQUE POSTALE SA, O = DSIBA

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:

- type: api
value:
name: My Api
urlContext: monapi
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.