REST API
Une interface REST pour accéder à la Carte Vitale
L’api CPS3 (même une SPI) proposée par DEVCOOP afin de proposer un niveau d’abstraction suffisant pour un programme java d’accéder à la carte CPS3.
Le document de référence est ASIP_CPS3_Données-métier_v1.0.2.doc
Le module cps-impl, fournit l’implémentation de la CPSFacade
qui intègre la Cryptolib CPS de l’ANS.
Exemple de code dans une application Spring Boot :
public class MonComposantCPS {
@Autowired
CPSFacade cps;
public void maMethode() {
assert cps.isAvailable();
final List<CardReaderInfo> availableReaders = cps.getAvailableReaders();
cps.selectReader(0L);
final CpsCardInfo cardInfo = cps.readInfo(); // Une demande d'authentification auprès de l'utilisateur est réalisée sur cet appel
assert cps.isLogged();
final PrivateKey signaturePrivateKey = cps.getSignaturePrivateKey();
}
}
La saisie du code Pin est possible à partir du PinProviderFrame
développé en Swing.
Mais, il est tout à fait possible de fournir son propre provider ou encore utiliser le NoPinProvider, et appelé explicitement la méthode setPin()
.
Le module cps-pdf, contient le code permettant de générer des signatures PDF https://helpx.adobe.com/fr/acrobat/using/signing-pdfs.html.
Il s’appuie sur la librairie apache PDF-BOX.
Il est possible de configurer et de surcharger le path par défaut de la cryptolib de la manière suivante :
devbox-sante:
cps:
module.path: "C:\\Program Files\\DevBoxSante\\santesocial\\cps\\cps3_pkcs11_w64.dll"
Le cps-proxy comme tous les composants de la DevBox-Santé est une application web Spring Boot, toutes les possibilités de spring-security sont donc disponibles.
Exemple de configuration de base empêchant toutes les IPs externes :
devbox-sante:
security:
forceLocalAddress: true
“This product includes software developed by Stiftung SIC.” : https://jce.iaik.tugraz.at/products/core-crypto-toolkits/pkcs11-wrapper/#License