J'importe mon identité numérique (certificat X.509 et clé privée pour la signature, la vérification, le cryptage et le décryptage des messages) dans le trousseau. Dans l'interface graphique, je vois mon certificat et la clé correspondante, je peux modifier leurs descriptions et rédiger une note décrivant leur utilisation, etc.
Cependant, lorsque Mail.app essaie d'accéder à la clé privée, il affiche une boîte de dialogue indiquant que "Mail souhaite utiliser vos informations confidentielles stockées dans" privateKey "dans votre trousseau.".
Maintenant, j'ai plusieurs identifiants numériques pour différentes adresses, donc ce message ne me donne aucune idée de la clé à laquelle il tente d'accéder. J'ai examiné un peu et il s'est avéré que lorsque vous importez une clé, une liste d'ACL est également créée dans le trousseau. Chaque élément de cette liste d'ACL a une description facultative. Je crois que quand aucune description n'est définie, la boîte de dialogue mentionnée utilisera la description de la clé, mais s'il existe une description de liste de contrôle d'accès, elle sera utilisée à la place.
Lorsque je vide mon trousseau avec "security dump-keychain -a", le message suivant s'affiche:
keychain: "/Users/galaxy/Library/Keychains/login.keychain"
class: 0x00000010
attributes:
0x00000000 <uint32>=0x00000010
0x00000001 <blob>=0x646[...]00 "[email protected]\000"
0x00000002 <blob>=<NULL>
[...]
0x0000001A <uint32>=0x00000001
access: 3 entries
entry 0:
authorizations (1): encrypt
don't-require-password
description: privateKey
applications: <null>
entry 1:
authorizations (6): decrypt derive export_clear export_wrapped mac sign
don't-require-password
description: privateKey
applications (0):
entry 2:
authorizations (1): change_acl
don't-require-password
description: privateKey
applications (0):
Tout d'abord, je souhaite modifier la description de "privateKey" en "[email protected] (chiffrement)" pour l'entrée 0 de la liste de contrôle d'accès. J'ai beaucoup cherché, mais je n'ai trouvé que des références à l'API OS X pour le faire. Y a-t-il un outil pour faire ça? S'il n'y a pas un tel outil, comment puis-je le configurer au moment de l'importation? Je demande depuis le moment où StartSSL oblige automatiquement Safari à importer l'ID numérique, la description de la liste de contrôle d'accès est définie sur 'www.startssl.com', je sais donc qu'il est possible de la configurer.
Enfin, une question de prime existe-t-il un outil ou un moyen de personnaliser les ACL? Par exemple, je souhaite supprimer export_ * de la liste de contrôle d'accès de l'entrée 1 (j'ai également constaté que cela était effectué par StartSSL avec leurs identificateurs numériques).
UPDATE: Depuis qu'Apple a publié son interface graphique d'accès au trousseau en tant que source ouverte, j'ai vérifié les sources pour l'importation PKCS # 12 et ils ont une option pour définir la description et les ACL au moment de l'importation. Cependant, je n'ai jamais rien codé pour OS X et il est difficile de déterminer la condition à remplir pour obtenir la description des ACL et des ACL elles-mêmes au moment de l'importation. La logique se trouve dans le package de sécurité dans pkcs12Crypto.cpp:
[galaxy@home:~/xcode/Security-55471.14.18/libsecurity_pkcs12/lib]$ grep -B5 -A5 '"privateKey"' pkcs12Crypto.cpp
try {
CssmClient::KeyAclBearer bearer(
cspHand, *privKey, Allocator::standard());
SecPointer<KeychainCore::Access> initialAccess(access ?
KeychainCore::Access::required(access) : /* caller-supplied */
new KeychainCore::Access("privateKey")); /* default */
initialAccess->setAccess(bearer, maker);
}
catch (const CssmError &e) {
/* not implemented means we're talking to the CSP which does
* not implement ACLs */
Malheureusement, dans toutes mes tentatives d’importation, je rencontre toujours la description "privateKey" codée en dur et, quand j’ai, disons, 5 identifiants numériques différents, ils demandent tous l’accès avec "privateKey" dans la boîte de dialogue, ce qui prête à confusion.
Réponses:
Après des recherches fastidieuses, il semble qu’il n’existe aucun moyen simple d’éditer la description de la clé privée. Par conséquent, à moins que Apple n’améliore son application Keychain Access, il n’existe aucun moyen de distinguer plusieurs ID numériques importés dans la même chaîne de clés.
Il semble également que Google Chrome (et Chromium) aient mis en œuvre certaines routines de gestion des clés et gèrent les descriptions des clés privées importées. Cependant, je n'ai pas encore compris comment tirer pleinement parti de cette fonctionnalité.
Quoi qu'il en soit, la réponse courte à ma question est qu'il n'y a aucun moyen de modifier la liste de contrôle d'accès des éléments et / ou leurs descriptions dans le porte-clés OS X pour le moment et il semble que personne ne s'en soucie vraiment.
la source
Par hasard, je suis tombé sur un correctif (de sorte) pour le problème de "privateKey" étant affiché dans les boîtes de dialogue de messagerie et confondant un ...
Ce n'est pas une solution élégante et je ne comprends pas Pourquoi cela fonctionne, mais après de nombreux tests, dans plusieurs clients de messagerie, sous OS X 10.10.3 et 10.10.4, j'ai constaté qu'il Est-ce que Travailler, c'est facile, et ça marche à chaque fois. En résumé, vous faites simplement glisser les identifiants numériques vers un nouveau trousseau, puis vous les retournez.
Les détails utiles et les leçons apprises sont les suivants:
la source