2016-07-18 13 views
1

Ich versuche, ein selbstsigniertes Zertifikat an ein Telegramm zu senden. Die Konfiguration erfolgt über PostMan Und mein Bot Server ist Ok (Tests über getUpdates und Aktion Anruf über SSL-Verbindung erfolgreich beantwortet).Telegram SetWebHook Selbstsigniertes Zertifikat

Hier ist, was ich zu Telegramm senden:

api.telegram.org/botMY TOKEN/setWebhook?url=MY SWERVER IP:443/api/webhook 

und i DO die PUBLICKEY.pem als binärer Körper auf die Anforderung befestigen. Hier

ist, was ich bekommen:

{ "ok": true, "result": true, "description": "Webhook was set" }

das Problem ist, wenn ich die Webhook über getWebHookInfo überprüfen:

{ 
    "ok": true, 
    "result": { 
    "url": "94.183.157.125:443/api/webhook", 
    "has_custom_certificate": false, 
    "pending_update_count": 5, 
    "last_error_date": 1476206652, 
    "last_error_message": "Connection timed out" 
    } 
} 

in dem das Attribut "has_custom_certificate" : false bedeutet es did't mein Zertifikat erhalten : \

Was mache ich hier falsch?

Irgendwelche Alternativen zu PostMan ??

Einen Schritt weiter

Ich versuchte, die HttpClient wie unten, aber es hat nicht funktioniert eighter: \

public string SetWebHook() 
    { 
     FileStream paramFileStream = new FileStream(@"E:\PATH.......\YOURPUBLIC.pem", FileMode.Open); 
     HttpContent fileStreamContent = new StreamContent(paramFileStream); 
     var response = string.Empty; 
     using (var client = new HttpClient()) 
     using (var formData = new MultipartFormDataContent()) 
     { 
      formData.Add(fileStreamContent, "Certificate", "YOURPUBLIC.pem"); 
      response = client.PostAsync("https://api.telegram.org/botMYTOKEN/setWebhook?url=MYSERVERIP:443/api/webhook", formData).Result.ToString(); 
     } 
     return response; 
    } 
+0

Es fühlt sich an, als ob niemand jemals versucht hat, selbst zertifiziertes Telegramm webHook auf ASP zu laufen: D – AmiNadimi

+0

Ich habe dieses Problem auch. Hast du es jemals gelöst? – Besto

+0

Nein! Ich bin irgendwie hoffnungslos ... aber ich hatte noch nicht 'curl' probiert – AmiNadimi

Antwort

0



Sie müssen curl verwenden Ihr Zertifikat (pem) hochladen
Und
Sie sollten H verwenden TTPS: // für Ihre URL