30.3. Stockage d'un certificat sur une carte à puce
Cette section décrit la configuration des cartes à puce avec l'outil pkcs15-init, qui vous aide à configurer :
- Effacer votre carte à puce
- Définition de nouveaux codes PIN et de clés de déblocage PIN (PUK) optionnelles
- Création d'un nouveau slot sur la carte à puce
- Stockage du certificat, de la clé privée et de la clé publique dans la fente
- Verrouillage des paramètres de la carte à puce (certaines cartes à puce nécessitent ce type de finalisation)
Conditions préalables
Le package
opensc, qui comprend l'outilpkcs15-init, est installé.Pour plus de détails, voir Installation des outils de gestion et d'utilisation des cartes à puce.
- La carte est insérée dans le lecteur et connectée à l'ordinateur.
-
Vous avez la clé privée, la clé publique et le certificat à stocker sur la carte à puce. Dans cette procédure,
testuser.key,testuserpublic.keyettestuser.crtsont les noms utilisés pour la clé privée, la clé publique et le certificat. - Votre code PIN actuel d'utilisateur de carte à puce et votre code PIN d'agent de sécurité (SO-PIN)
Procédure
Effacez votre carte à puce et authentifiez-vous avec votre code PIN :
$ pkcs15-init --erase-card --use-default-transport-keys Using reader with a card: Reader name PIN [Security Officer PIN] required. Please enter PIN [Security Officer PIN]:La carte a été effacée.
Initialisez votre carte à puce, définissez votre code PIN et PUK d'utilisateur, et votre code PIN et PUK d'agent de sécurité :
$ pkcs15-init --create-pkcs15 --use-default-transport-keys \ --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123 Using reader with a card: Reader nameL'outil
pcks15-initcrée une nouvelle fente sur la carte à puce.Définissez l'étiquette et l'identifiant d'authentification pour le slot :
$ pkcs15-init --store-pin --label testuser \ --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478 Using reader with a card: Reader nameL'étiquette est fixée à une valeur lisible par l'homme, dans ce cas,
testuser. Leauth-iddoit avoir deux valeurs hexadécimales, dans ce cas, il est défini à01.Stockez et étiquetez la clé privée dans la nouvelle fente de la carte à puce :
$ pkcs15-init --store-private-key testuser.key --label testuser_key \ --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader nameNoteLa valeur que vous indiquez pour
--iddoit être la même lors du stockage de votre clé privée, et de votre certificat. Si vous ne spécifiez pas de valeur pour--id, une valeur plus complexe est calculée par l'outil et il est donc plus facile de définir votre propre valeur.Rangez et étiquetez le certificat dans la nouvelle fente de la carte à puce :
$ pkcs15-init --store-certificate testuser.crt --label testuser_crt \ --auth-id 01 --id 01 --format pem --pin 963214 Using reader with a card: Reader name(Facultatif) Stockez et étiquetez la clé publique dans la nouvelle fente de la carte à puce :
$ pkcs15-init --store-public-key testuserpublic.key --label testuserpublic_key --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader nameNoteSi la clé publique correspond à une clé privée et/ou un certificat, vous devez spécifier le même identifiant que cette clé privée et/ou ce certificat.
(Facultatif) Certaines cartes à puce nécessitent que vous finalisiez la carte en verrouillant les paramètres :
$ pkcs15-init -FÀ ce stade, votre carte à puce inclut le certificat, la clé privée et la clé publique dans la fente nouvellement créée. Vous avez également créé votre code PIN et PUK d'utilisateur et le code PIN et PUK d'agent de sécurité.