"Le paramètre est incorrect."erreur en utilisant netsh http add sslcert

suivant les instructions sur "comment configurer un Port avec un certificat SSL" dans ce lien: http://msdn.microsoft.com/en-us/library/ms733791.aspx , j'ai entré cette commande sur la ligne de commande (duh):

> netsh http add sslcert ipport:10.141.146.227:7001 certhash=5d48e604007b867ae8a69260a4ad318d2c05d8ff appid={EDE3C891-306C-40fe-BAD4-895B236A1CC8}
The parameter is incorrect.

Mon certhash empreinte a été prise à partir du certificat dans les Certificats(Ordinateur Local)>Personnel>dossier de Certificats.

le appid GUID a été généré.

Qu'est-ce qui ne va pas que je dois réparer pour que ça marche?

43
demandé sur jpaugh 2009-04-23 01:05:24

18 réponses

dans PowerShell tapez juste comme suit. passez d'abord en mode http netsh, puis ajoutez sslcert. Il a travaillé pour moi.

>netsh

netsh>http

netsh http>add sslcert ipport=0.0.0.0:13286 appid='{a5455c78-6489-4e13-b395-47fbdee0e7e6}' certhash=<thumprint without space>
60
répondu Abdul Hakim 2017-09-11 08:41:40

une autre cause possible de ce problème est les caractères cachés copiés à partir de la page du Gestionnaire de certificats. Si vous copiez l'empreinte du pouce à partir de la fenêtre de détails dans les certificats, Vérifiez un caractère caché au début (utilisez vos touches fléchées!). C'est la cause pour moi du message d'erreur "le paramètre est Incorrect".

36
répondu Richard 2013-10-07 21:53:40

La ligne de commande PowerShell scripts PowerShell et en fichiers ps1 pense curley-accolades {...} sont des directives PowerShell. Donc les citer. Sinon, comme vous l'avez vu, PowerShell seront confus.

donc plutôt que cela (que vous avez trouvé échoue):

netsh http add sslcert ipp ort:10.141.146.227:7001 certhash=5d48e604007b867ae8a69260a4ad318d2c05d8ff appid= {EDE3C891-306C-40fe-BAD4-895B236A1CC8} 

faites ceci (notez les guillemets simples):

netsh http add sslcert ipp ort:10.141.146.227:7001 certhash=5d48e604007b867ae8a69260a4ad318d2c05d8ff appid= '{EDE3C891-306C-40fe-BAD4-895B236A1CC8}'

voici quelques informations sur la syntaxe de PowerShell avec les accolades curley:

http://danv74.wordpress.com/2012/07/12/powershell-and-the-hidden-art-of-curly-braces-and-other-braces /

20
répondu codingoutloud 2014-03-08 17:22:45

en regardant la syntaxe de la commande netsh, j'ai vu cet exemple:

add sslcert ipport=1.1.1.1:443 certhash=0102030405060708090A0B0C0D0E0F1011121314 appid={00112233-4455-6677-8899-AABBCCDDEEFF}

apparemment, ton problème, c'est que tu fais

ipport:10.141.146.227:7001
      ^

par opposition à

ipport=10.141.146.227:7001
      ^
11
répondu cmptrgeekken 2009-05-05 21:30:17

copier l'empreinte du pouce du certificat\Details\Thumbprint préparerait la valeur de l'empreinte du pouce avec les octets '3f38' qui, une fois convertis en ANSI étaient montrés comme un'?'. Cette valeur cachée a causé le problème pour moi.

j'ai collé la valeur dans le bloc-notes++, j'ai choisi 'Encoding' > 'Convert en ANSI', puis j'ai enlevé manuellement le prépayé '?' caractère. J'aurais alors une valeur clean thumbprint à utiliser.

11
répondu Andreas Presthammer 2016-09-16 07:59:55
  1. copiez la commande dans le bloc-notes
  2. Enregistrer en tant que norme ANSI
  3. fermer et rouvrir le dossier
  4. supprimer les faux ? caractères
  5. copiez du bloc-notes à l'invite de commande et lancez la commande
10
répondu tcb 2015-10-04 05:14:31

j'ai aussi eu cette erreur quand je commençais avec http.sys. Après avoir couru:

netsh http add iplisten ipaddress=0.0.0.0

puis les commandes netsh http add sslcert ont commencé à se comporter correctement.

5
répondu Tim Danner 2009-07-16 15:51:00

dans mon cas, le problème est que j'ai suivi les instructions de microsoft, j'ai copié l'empreinte du pouce de la fenêtre SSL. le fait est que cela copie le caractère non imprimable au début du hachage.

essayez de coller l'empreinte du pouce dans le bloc-notes, puis appuyez sur la touche accueil et pres supprimer deux fois (jusqu'à ce que le premier char à partir de l'empreinte du pouce est supprimé) et le ajouter de nouveau le char. Vous pouvez voir le caractère si vous copiez l'empreinte du pouce et la collez dans cmd:

thumbprint with "?"

4
répondu SimSimY 2013-11-21 16:36:57

j'ai couru à travers cette question, en cherchant une solution au problème. J'en ai enfin trouvé un qui marchait pour moi.

mon paramètre certhash ne faisait pas 20 octets de long. J'ai dû le garnir de zéros pour qu'il fonctionne.

donc, au lieu de

certhash=112233445566778899aabbccddeeff00 , je devais faire ceci:

certhash=00000000112233445566778899aabbccddeeff00 .

Espérons que cette aide.

2
répondu Christopher Broome 2011-04-24 18:54:29

Monsieur, vous avez ipport: plutôt que ipport= ce qui est facile à faire puisque vous suivez cela avec ip: port

aussi, méfiez-vous de la {versus < ou (, qui m'a également obtenu dans le passé.

2
répondu GMLewisII 2014-11-05 21:05:54

L'Utilisation du numéro de série au lieu de L'empreinte du pouce pour le paramètre certhash provoquera cette erreur en raison de la différence dans le nombre de caractères. Padding with 0s va changer l'erreur en SSL certificat ajouter échoué, erreur: 1312

2
répondu Daniel N 2015-05-12 21:26:25

attention, si vous avez un nom DNS Comme usage liant hostnameport au lieu de ipport

netsh http delete sslcert hostnameport=domainame.com:443

j'ai dû supprimer les liaisons par procuration ADFS pour Office 365.

2
répondu joelschmid 2016-06-03 13:14:32

j'ai fait face à ce problème plusieurs fois et chaque fois qu'il avait une cause différente, donc j'ai décidé d'écrire les causes et la commande exacte qui a fonctionné pour moi.

voici quelques causes:

1-copier et coller l'empreinte du pouce du certificat de fenêtre de dialogue ajoute un caractère caché à votre hachage. Il n'est pas visible dans les éditeurs de texte, mais vous devez supprimer le caractère pour le faire fonctionner.

2 - SSL thumbprint doit être disponible dans Personal - > certificats pour travailler avec localhost.

3-Il doit être " ipport=' non 'ipport:'

Le certificat

4 - SSL doit avoir une clé privée. Si vous utilisez la console de gestion des certificats, assurez-vous qu'elle a une petite icône de clé sur la vue des certificats.

5-GUID doit être défini dans le format complet: {a10b0420-a21f-45de-a1f8-818b5001145a}, et il doit avoir un devis en powershell: "{a10b0420-a21f-45de-a1f8-818b5001145a} " ainsi, le format PowerShell est différent de la ligne de commande.

6 - SSL Cert devrait avoir toute les caractères avec tout le rembourrage '0' et sans espace. Vous pouvez copier thumbprint (attention à supprimer les caractères spéciaux cachés) et supprimer des espaces, ou utiliser 'netsh http show sslcert' pour obtenir la valeur si le certificat est déjà enregistré pour une autre adresse.

Ce qui a fonctionné pour moi:

Voici la commande exacte qui a fonctionné pour moi dans powershell:

netsh http add sslcert ipport=0.0.0.0:20001 certhash=5304c034548b27c72b5e9c14f0c7bdd13e52d760 appid='{a10b0420-a21f-45de-a1f8-818b5001145a}'

et voici la déclaration en ligne de commande:

netsh
http add sslcert ipport=0.0.0.0:20001 certhash=5304c034548b27c72b5e9c14f0c7bdd13e52d760 appid={a10b0420-a21f-45de-a1f8-818b5001145a}

autres commandes pour vous aider à éviter des problèmes reliés:

utilisez la commande suivante pour voir le certificat enregistré à jour. Vous pouvez trouver et réutiliser certhash ou votre appid à partir de là:

netsh http show sslcert

si le certificat est déjà enregistré avec ip et port similaires, vous devez le supprimer. J'ai trouvé qu'il cause des problèmes avec localhost, 127.0.0.1 et 0.0.0.0. Vous devez avoir seulement 0.0.0.0 enregistré dans votre environnement de test. Utilisez la commande suivante pour supprimer les certificats potentiellement corrompus:

netsh http delete sslcert ipport=0.0.0.0:20001
2
répondu mohghaderi 2017-07-13 17:17:45

il y a quelques choses que j'ai faites que je pensais avoir fait fonctionner après avoir obtenu le même" le paramètre est incorrect." Erreur.

1) redémarré machine et l'a fait à nouveau. cela a fonctionné la première fois. 2 )s'est assuré que j'étais en c:\ et a remis la commande après redémarrage n'a pas fonctionné

Je ne pouvais pas expliquer pourquoi, mais je pense que peut-être les deux fois, il y avait quelque chose d'autre qui n'allait pas. parce que la troisième fois cela m'est arrivé,

3) je j'ai passé en revue l'empreinte digitale de mon CA (pas le certificat du serveur) et je l'ai copié à nouveau à partir du MMC et ça a fonctionné.

après ce qui s'est passé, je l'ai supprimé à nouveau (netsh http delete sslcert ipport=0.0.0:) et j'ai répété le processus en utilisant l'empreinte du certificat du serveur. Le damné chose a de nouveau fonctionné.

Je ne sais pas, essaye juste de traverser la même chose que moi. peut-être l'une de celles-ci. En fin de compte, je soupçonne que je suis entré dans un faux espace ou personnage dans le certhash.

1
répondu Derrick 2009-05-05 20:31:33

cela fonctionnera à partir de la ligne commadline PowerShell:

$AppId = [Guid]::NewGuid().Guid
$Hash = "209966E2BEDA57E3DB74FD4B1E7266F43EB7B56D"

netsh http add sslcert hostname=localhost:8088 certhash=$Hash appid=`{$AppId`} certstorename my

les détails importants sont d'échapper à chacun { } avec un backtick (`) et de ne pas omettre certstorename. Autrement netsh soulève une erreur 87.

les variables sont pour des raisons de commodité.

1
répondu PeterXX 2017-07-05 18:37:04

les" - " s NE sont pas sans importance. Si votre interface ne ressemble pas exactement à cela, vous obtiendrez l'erreur de paramètre incorrecte: {EDE3C891-306C-40fe-BAD4-895B236A1CC8} vs. EDE3C891306C40feBAD4895B236A1CC8 - > WRONG {EDE3C891306C40feBAD4895B236A1CC8} -> WRONG

J'utilise aussi le guid pour l'appid de L'IIS, pas au hasard.

0
répondu Martin Clemens Bloch 2013-09-20 09:45:50

j'ai dû finir par altérer la relation entre VS et IIS Express en supprimant le certificat localhost. J'étais vraiment coincé. L'application ne démarrait pas et rien que je pouvais faire semblait corriger cette déconnexion (qui est de vouloir m'a amené à ce fil pour commencer).

j'ai finalement été en mesure de surmonter le problème en changeant le port assigné sur L'URL non-SSL ( launchSettings.json dans les applications .net Core) et en désactivant le activer SSL case à cocher dans les paramètres du projet et prendre un nouveau départ. J'ai ensuite pu ajouter mon nouveau cert avec cette commande: netsh http add sslcert ipport=0.0.0.0:44392 appid={214124cd-d05b-4309-9af9-9caa44b2b74b} certhash=A0ADC1A1002F288CCFA96261F9F352D28C675A90 .

aussi, notez que la variable appid n'est pas un reflet de votre AppID VS project (ou du moins elle ne doit pas l'être). C'est juste un guide arbitraire, selon Scott Hanselmann :

L'AppId n'a pas vraiment d'importance, c'est juste un GUID. Ceci dit HTTP.SYS qui nous sommes l'aide de ce certificat.

ce n'était pas évident pour moi et fait traitant avec le paramètre est incorrect erreur que beaucoup plus obscur.

si vous rencontrez des problèmes similaires, bonne chance. Je crois en vous. Ping-moi si vous vous sentez perdu et seul. Peut-être que je me souviendrai de quelque chose d'ici là! : D

0
répondu Vinney Kelly 2017-07-05 20:54:44

Il pourrait être utile d'ajouter ma résolution dans ce fil :

j'essayais d'ajouter un ippport avec le paramètre hostnameport alors j'ai eu cette erreur de paramètre.

netsh http add sslcert hostnameport="10.0.0.120:443"

au lieu de:

netsh http add sslcert ipport="10.0.0.120:443"

Cya !

0
répondu Nicolas Leucci 2017-11-16 09:36:01