L'API Kotlin est un wrapper Kotlin qui s'ajoute à Bouncy Castle ou Bouncy Castle FIPS. Elle permet aux non-développeurs d'effectuer des tâches de base, telles que la génération de paires de clés, de certificats et de demandes de certificats, ainsi que le chiffrement des clés privées.
L'origine de cette API est que les clients existants ont demandé un moyen plus facile pour les administrateurs de système/non-programmeurs de travailler avec les API BC ou BC FIPS pour générer des clés, des demandes de certification et des certificats auto-signés. À l'époque, l'alternative semblait être des scripts shell utilisant OpenSSL, ce qui signifiait qu'il fallait suivre deux distributions. Dans un contexte FIPS, cela signifiait également l'utilisation d'une version d'OpenSSL certifiée FIPS. Un autre problème des scripts shell était la difficulté d'appliquer des contrôles, que ce soit sur les algorithmes ou sur l'utilisation des clés.
La solution a consisté à créer un wrapper Kotlin au-dessus des API BC, car il est petit et écrit à un niveau supérieur, il est facile à personnaliser et fortement typé, de sorte que l'utilisation des algorithmes peut être imposée au moment de la compilation. Et comme il s'agit d'un wrapper, une seule API FIPS est nécessaire, ce qui, dans certains cas, permet de réduire considérablement la paperasserie.
Si vous voulez l'essayer
L'API Kotlin Bouncy Castle est facile à installer sur votre système, votre produit ou votre appareil. Pour plus d'informations, voir Comment utiliser l'API Kotlin Bouncy Castle . Il existe également une formation en ligne, PKI at the Edge part 3 - Keeping it simple with the Kotlin API.
La version actuelle de l'API Kotlin prend en charge les éléments suivants
- Génération de paires de clés
- Génération de certificats et de demandes de certification
- Extensions de base des certificats
- Sortie et cryptage des clés privées
La formation en ligne vous présente ces appels de fonction et vous en apprenez un peu plus sur l'utilisation des KeyStores pour les systèmes FIPS et non FIPS.