2013-09-27 3 views
4

J'appelle le Azure REST List Subscription Operation.Opération d'abonnement à la liste: 403 interdite

Sur mon ordinateur dev j'ai installé le certificat dans Current User \ Personal. Je peux appeler l'API avec succès et obtenir une réponse. Code de réponse = 200

Sur un test, j'ai installé le même certificat dans Current Use \ Personal. Je ne peux pas appeler l'API. Je reçois un 403 interdit. erreur complète ci-dessous:

<Error> 
    <Code>AuthenticationFailed</Code> 
    <Message>The server failed to authenticate the request. 
    Verify that the certificate is valid and is associated with this subscription. 
    </Message> 
</Error> 

Je vérifie le certificat, il est valable à partir plus tôt aujourd'hui (comme il a été importé aujourd'hui) et valide pour Janvier 2040. Je présume qu'il est valide?

Questions:

  1. Le même code/projet/service fonctionne sur ma machine locale, mais pas sur la boîte d'essai. Pourquoi?
  2. L'empreinte du certificat est la même, les certificats sont les mêmes. Le certificat est associé au compte Azur abonnement car il fonctionne localement! Pourquoi?
  3. Quoi d'autre dois-je vérifier? Je sais que le service de boîte locale et de test attache le certificat à la demande Web (je le sais par la journalisation détaillée) mais au point de

    HttpWebResponse webResponse = webRequest.GetResponse() en tant que HttpWebResponse;

Je reçois l'erreur 403 interdite.

Je ne suis plus d'accord avec ça.

Mise à jour:

Dans la réponse que je considère en Fiddler, le début de la réponse est:

HTTP/1.1 403 Forbidden 
Content-Length: 294 
Content-Type: application/xml; charset=utf-8 
Server: Microsoft-HTTPAPI/2.0 
Date: Fri, 27 Sep 2013 02:49:59 GMT 

Maintenant, je me demande si la partie de la date est la question. Je me souviens avoir lu que la date doit être dans les 15 minutes de la demande. Sur la boîte de test, l'heure actuelle est 12h49, il semble donc que la date de retour est "en avance" de 2 heures. Serait-ce pourquoi? Ou est-ce juste une interprétation de Fiddlers d'une date?

+0

L'erreur 403 signifie généralement un problème avec le certificat. Par votre autre fil posté plus tôt, je me souviens que vous avez eu des problèmes avec certs sur votre boîte de test. Une chose que vous pourriez faire est de créer un tout nouveau certificat sur votre boîte de test au lieu d'importer depuis la boîte de dev et d'utiliser ce certificat pour authentifier les demandes d'API. –

+0

Oui, j'ai pensé faire cela mais la boîte est verrouillée et makecert n'est pas installé. – andrewb

+0

Encore une pensée - créer un certificat sur une autre machine, puis l'importer sur la boîte de dev comme vous l'avez fait sur la boîte de test. De cette façon, vous serez en mesure de recréer l'environnement de test (aussi loin que le certificat va) sur votre boîte de dev. En outre, vous ne savez pas si IIS a installé votre boîte de test, mais vous pouvez également créer un certificat en utilisant IIS. –

Répondre

1

Exportation du certificat de ma machine de développement PFX avec la clé privée puis importer ce certificat PFX sur la machine de production est ce qui a résolu le problème d'authentification/certificat dans mon cas.

+0

azure autorise uniquement les fichiers .cer , comment faire cela pour PFX? –

+0

Oui, pour Azure, vous ne téléchargez que le fichier .CER (Azure> Paramètres> Certificats de gestion) .Dans ma réponse, je faisais référence à la configuration de mon serveur qui communique avec Azure - là je devais installez le bon certificat pour le faire fonctionner. – ueberboss

Questions connexes