|
|
|||||
Регистрация: Sep 2011
Сообщений: 9
|
as3crypto ssl / tls
Здравствуйте все. Не так давно я спрашивал на форуме про кроссдоменные файлы политики. Теперь возникла необходимость реализовать защищенное соединение межу flash и сервером (https).
Сертификат выдан недавно, поэтому сразу оговорюсь: он не просрочен. Использую среду flashdevelop. Я скачал as3crypto.swc подключил ее как библиотеку. Написал код, выполняющий нужные мне действия: field = new TextField(); field.text = "test - https\n"; field.x = 10; field.y = 10; field.width = 780; field.height = 580; field.borderColor = 0x666666; field.border = true; addChild(field); Security.loadPolicyFile("xmlsocket://ip:843"); // https tlsSock = new TLSSocket(); tlsSock.connect("test.ru", 443); //tlsSock.addEventListener(Event. tlsSock.addEventListener(Event.CONNECT, function(success:Event):void { field.appendText("connected: " + tlsSock.connected.toString() + "\n"); if(tlsSock.connected) { var request:String; request = "GET /robots.txt HTTP/1.1\n"; request += "Host: test.ru\n"; request += "User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2\n"; request += "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\n"; request += "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\n"; request += "Accept-Encoding: gzip, deflate\n"; request += "Connection: keep-alive\n"; request += "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\n\n"; tlsSock.writeUTFBytes( request ); tlsSock.flush(); field.appendText( "request has been sent\n" ); } else { field.appendText("Can't connect to server!"); } }); tlsSock.addEventListener(ProgressEvent.SOCKET_DATA, function(e:*):void { var s:String = tlsSock.readUTFBytes(tlsSock.bytesAvailable); field.appendText("Response from test.ru: " + s.length + " characters\n"); field.appendText(s + "\n"); }); tlsSock.addEventListener(Event.CLOSE, function(e:Event):void { field.appendText("Connection close\n"); } ); Через некоторое время соединение закрывается. Никаких ошибок при этом нет. Если запускать из среды, то в дебаге пишет: I DONT KNOW HOW TO HANDLE DER stuff of TYPE 22 I DONT KNOW HOW TO HANDLE DER stuff of TYPE 22 I DONT KNOW HOW TO HANDLE DER stuff of TYPE 22 GOT ALERT! type=0 В логах flash странные предупреждения: Предупреждение: В файле политики от xmlsocket://test.ru:843 обнаружено secure="true", но узел test.ru, по видимому, не является локальным компьютером. Это может быть небезопасно. Дополнительные сведения см. на веб-сайте http://www.adobe.com/go/strict_policy_files_ru. Предупреждение: В файле политики от xmlsocket://test.ru:843 обнаружено secure="true", но узел test.ru, по видимому, не является локальным компьютером. Это может быть небезопасно. Дополнительные сведения см. на веб-сайте http://www.adobe.com/go/strict_policy_files_ru. Предупреждение: Недействительный тег <allow-http-request-headers-from> для домена "*" в файле политики в папке xmlsocket://test.ru:843 игнорируется <?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <site-control permitted-cross-domain-policies="master-only" /> <allow-access-from domain="*" to-ports="*" secure="false" /> <allow-http-request-headers-from domain="*" headers="*" secure="false"/> </cross-domain-policy> В чем проблема? где руки скривились? Добавлено через 7 часов 31 минуту блин, 52 просмотра и никто ничего не может сказать? Последний раз редактировалось Anton_sz; 16.09.2011 в 18:50. Причина: неполнота информации :) |
Часовой пояс GMT +4, время: 10:06. |
|
« Предыдущая тема | Следующая тема » |
|
|