web-dev-qa-db-fra.com

Faire un certificat Windows Say que son objectif est "assure l'identité d'un ordinateur distant"

Je veux que mon certificat apparaisse comme ça lorsque je double clique sur elle dans Windows:


(Source: DevCentral.f5.com )

Si je viens de doubler sur un cert aléatoire, je reçois ceci:

Le certificat qui correspond à c'est ceci:

-----BEGIN CERTIFICATE-----
MIICCzCCAXagAwIBAgIDMTI1MAsGCSqGSIb3DQEBBTBoMQswCQYDVQQGEwJVUzET
MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxQNTW91bnRhaW4gVmlldzETMBEG
A1UEChQKR29vZ2xlIEluYzEXMBUGA1UEAxQOd3d3Lmdvb2dsZS5jb20wIhgPMjAx
MjExMjUwNzE0MTJaGA8yMDEzMTIyNTA3MTQxMlowHjEcMBoGA1UECgwTcGhwc2Vj
bGliIGRlbW8gY2VydDCBnTALBgkqhkiG9w0BAQEDgY0AMIGJAoGBAMX7X83YPC92
SGgewurwucf30AQZU4amihKls8J7Bu5l6qv8ONv3JI9qvY8vJKhj6QHZABvFSCk7
/nsilYhptD2MMUjOeosJwvNcqIo5acy/gox/nnInqnCWqhNtQ+DJDrsJEB+NxoNb
1VD9PN0pqF3EsU8EAQgSkRfbdikuFMs1AgMBAAGjDzANMAsGA1UdDwQEAwIHgDAL
BgkqhkiG9w0BAQUDgYEAMtVKyBpbvD2txhlRtA3VHoL1Zp9E7CN/EqFxpAG7bwZT
8D1gifeff4tGH0zkbGvv+5kb5exBZ+PhGsaaHVZoBQVO33Rkr32rfMeMa7PYb76L
i+f0mOp1QfPbrQuvT/uJx8AUv/Owsk5zLyE7JznsvYQ7VeGARRAike2ThHGcZQ8=
-----END CERTIFICATE-----

Si j'importe le certificat de signature, il apparaît comme ceci:

C'est fascinant et tout sauf que cela ne me dise pas comment faire un certificat de dire "Assurer l'identité d'un ordinateur distant". Des idées?

5
neubert

Si je pouvais utiliser OpenSSL, je voudrais simplement ajouter des lignes suivantes à openssl.conf:

keyUsage = digitalSignature
extendedKeyUsage=serverAuth

mais je ne sais pas comment ajouter extendedKeyUsage en phpseclib

6
Disa

TL; DR

Achetez un certificat de Verisign, Comodo, etc. et ils veilleront à ce que vous obtiendrez toujours un certificat qui fonctionne pour naviguer sur le Web.

Partie 1: "Pas assez d'informations pour vérifier"

Il semble que ceci est un certificat auto-signé généré par PHP. Cela dit en fait qu'il a été émis par "quelqu'un". À moins que "quelqu'un" est un certificat légitime que vous souhaitez déployer sur chaque ordinateur (improbable), vous obtiendrez cette erreur.

Lancez le responsable du certificat et consultez les certificats "racine de confiance" de Windows pour votre compte utilisateur et de la machine (il y a deux endroits pour vérifier). Dans ce dossier (racine de confiance) qui représente tous les CAS valables pour votre système. Ajout de certificats ici signifie que vous leur faites confiance pour contrôler la sécurité de votre ordinateur et les supprimer signifie que vous ne leur faites pas confiance. Je ne recommande pas de changer cela et de le laisser à la PKI expérimenté pour ajouter et supprimer le contenu de ce dossier.

Sinon, regardez http://security.stackexchange.com Pour plus d'informations liées à PKI qui vous éduqueront sur la façon de ne pas vous tirer dessus au pied.

Partie 2: "Toutes les stratégies d'application"

La section qui dit "toutes les stratégies d'application" comprend "Assurer l'identité d'un ordinateur distant".

Si vous souhaitez avoir un certificat plus contraint (une bonne chose), vous devez disposer de votre PHP (CERT DEMO PHPLIB) accéder à une autorité de certification approuvée et utilisez le modèle de certificat approprié.

La façon dont vous allez à ce sujet dépend de:

  • Quel utilitaire génère le certificat (PHP dans ce cas)
  • Qu'est-ce que vous utilisez (est-ce une CA publique à utiliser par toutes les personnes ou dans votre environnement d'entreprise uniquement)
  • CA - Détails spécifiques sur la façon de contraindre les certificats émis uniquement aux utilisateurs clés que vous spécifiez.

Voici un conseil, l'onglet Général ne montre pas beaucoup d'informations importantes. Cliquez sur "Détails" et regardez l'utilisation de la clé et l'utilisation améliorée de la clé. Ils vous donneront non seulement le texte amical que vous recherchez, mais également les OID dont vous aurez probablement besoin lorsque vous obtenez votre CA interne pour émettre le certificat correct.

1
goodguys_activate

La raison pour laquelle vous rencontrez est parce que vous ouvrez un certificat X.509 générique.

Microsoft nécessite un certificat PKCS7 qui inclut la signature CAS. S'il n'a pas le signataire des certificats publics dans le certificat lui-même (peu importe si les certificats publics de signataire sont dans votre magasin de certificats locaux), il sera considéré comme illégitime.

0
JZeolla