web-dev-qa-db-fra.com

IdentityServer: le certificat distant n'est pas valide conformément à la procédure de validation

J'essaie de configurer l'authentification unique avec OWin et Thinktecture Identity Server, mais je n'ai aucune chance d'obtenir le certificat SSL pour qu'il fonctionne. Au moins je pense que c'est le problème. Tout fonctionne bien lorsque je suis dans Visual Studio, mais si j'essaie d'utiliser IIS sur ma machine, l'erreur "Le certificat distant est invalide selon la procédure de validation". J'ai également essayé d'utiliser IIS en tant que client pour traiter l'instance s'exécutant dans visual studio comme autorité de jeton, mais j'obtiens toujours la même erreur. Quelqu'un a une idée sur ce que je fais mal?

24
Bryan Flynn

Dans mon cas, j'essayais simplement de passer en revue les exemples (pour ID3v2) et d'obtenir les erreurs de certificat s'exécutant localement. Depuis que quelques exemples font même l'auto-hébergement via owin, je ne suis même pas sûr de savoir où se trouvent les certificats pour le côté hôte?

Quoi qu'il en soit, mon correctif consistait à copier le certificat dans la racine de confiance:

  1. Bouton Démarrer de Windows, exécutez MMC.EXE 
  2. Fichier, Ajouter un composant logiciel enfichable: Certificats
  3. Utiliser un compte d'ordinateur, Ordinateur local, Ok
  4. Allez sous Personnel/Certificats
  5. Cliquez avec le bouton droit de la souris sur "localhost" et faites-la glisser sur la racine approuvée ....
  6. Sélectionnez "copier"

Terminé. Prendre plaisir.

59
Jester

Après avoir passé beaucoup de temps pour moi, la solution était assez simple.

Je viens d'ouvrir le site Certmgr.msc ---> a supprimé le certificat localhost des autorités de certification de racine de confiance.

Puis ma solution a été ouverte (après avoir exécuté le serveur d’identité) Cliqué sur Exécuter, le studio visuel m'a demandé si je voulais générer un nouveau certificat sur iis express (ssl), correctement:) 

4
Misha Beskin

Vous devez ajouter le certificat utilisé par IIS dans votre magasin d'autorités de certification racines de confiance sur votre ordinateur local.

2
Mike B

Parfois, cela ne fonctionne pas bien que les paramètres ci-dessus aient été définis et que vous ayez indiqué l'URL sous la forme " https: // localhost ", à la place, indiquez l'URL sous la forme " https: // nom_ordinateur " .. Le nom de l'ordinateur __.ie doit correspondre à la valeur "issue to" du certificat

1

Pour .Net Core, change fait de la façon suivante attendue de Exchange Server, mais la solution suivante va résoudre votre problème, comme indiqué ci-dessous.

"DataConnect": "Server=tcp:127.0.0.1,1433;Initial Catalog=dbName;Persist Security Info=False;User ID=username;Password=password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;"
0
Samuel Kwame Antwi

Ajouter un certificat au magasin de personnes de confiance devrait être suffisant selon le fichier readme dans les exemples fourni par les auteurs.

Dans un scénario de production, il devrait être préférable, car le magasin racine est destiné aux autorités de certification. Lorsque vous ajoutez quelque chose, cette autorité est non seulement approuvée, mais tout certificat signé par lui est automatiquement approuvé.

Vous pouvez consulter cette information dans la référence Microsoft . Un extrait de la description courte du magasin 2:
Root: Magasin de certificats pour les autorités de certification racine de confiance.
TrustedPeople: Magasin de certificats pour les personnes et les ressources de confiance.

P.S: Je l'ai testé et cela fonctionne. Dans mon scénario, j'ai IS sur l'ordinateur A et un ensemble d'applications Web utilisant IS sur les ordinateurs A et B. IIS le certificat sur l'ordinateur B est différent un utilisé dans A et par IS, mais je viens de l'ajouter sur le magasin de personnes de confiance de la machine B et "l'erreur de certificat" a disparu.

0
Naigel