Перейти к содержимому
Калькуляторы

Опубликована Процедура блокировки некошерной инфо

http://lenta.ru/news/2012/11/09/iran/

США ввели новые санкции против Ирана. Запреты коснутся иранских граждан и правительственных организаций, которые, по мнению Белого дома, ограничивают иранцев в доступе к информации и применяют репрессии против СМИ. Об этом 9 ноября сообщает Agence France-Presse.

Новые запреты в том числе коснутся министерства культуры Ирана, министра связи Резы Тагипура (Reza Taghipour) и университета имени имама Хусейна (Imam Hossein University). Всего, как уточняет портал Firstpost, санкции введены против 17 физических и юридических лиц: Вашингтон заморозит их счета, им запретят въезд в США, американским гражданам нельзя будет выстраивать с ними деловые отношения.

 

Пресс-секретарь Госдепартамена США Виктория Нуланд пояснила, что Тагипур наказан за то, что распорядился глушить иностранное спутниковое телевещание, а также блокировать многие иностранные сайты. Иранское министерство культуры, по ее словам, закрыло некоторые газеты, а также преследовало журналистов и людей творческих профессий. "Правительство США полно решимости в том, чтобы помешать Ирану создать информационный занавес", - заявила журналистам Нуланд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а для простых смертных появились в паблике списки сайтов которые надо нельзя посещать ???

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а для простых смертных появились в паблике списки сайтов которые надо нельзя посещать ???

www dot rusblock dot com

 

PS кстати на blogspot-e расположен, тоже годно, можно оптом сразу и его забанить

Изменено пользователем elcambino

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все гораздо хуже. Сейчас в топе ЖЖ висит: http://ntv.livejournal.com/272156.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что в конфиге ssl править нада? у меня что с правками, что без них, ошибка одна.

http://www.cryptocom.ru/products/openssl-1-config-en.html

 

P.S. С ЭП у меня всё прокатило вот по этой инструкции, а вот с xml-кой полная засада.. :(

 

P.P.S

Сейчас получается в системе две openssl, одна стандартная из дистра 0.9.8, а другая, которую сам собирал 1.0.1c, лежит в /gost-ssl/bin/openssl

Тоже наступил на эти грабли. Вы посмотрите, что говорит openssl version.

У меня запускалась "старая". Тупо скопировал бинарник "новой" openssl в /usr/bin и все зажужжало.

 

Собрал новый openssl 1.0.1c. Сделал все как в инструкции. Все равно ошибка выходит.

 

Error outputting keys and certificates
140181692696232:error:06074079:digital envelope routines:EVP_PBE_CipherInit:unknown pbe algorithm:evp_pbe.c:167:TYPE=1.2.840.113549.1.12.1.80
140181692696232:error:23077073:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 algor cipherinit error:p12_decr.c:83:
140181692696232:error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:p12_decr.c:130:

 

Может с ключом что то не так?

Его КриптоАРМ конвертили.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На PHP+SOAP никто не пробовал делать обмен?

 

Пробовал, получить дату последнего обновления реестра вышло без проблем, а дальше все застряло ибо нет ключа, чтобы проверять дальше

У меня получилось.

Если кому интересно, то могу поделиться скриптом в понедельник.

 

Понедельник, однако. Нельзя ли скриптик ваш в паблик?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Собрал openssl 1.0.1c по инструкции http://www.cryptocom.ru/opensource/openssl100.html

/gost-ssl/bin/openssl pkcs12 -in ./p12.pfx -out ./provider.pem
Enter Import Password:
Mac verify error: invalid password?
3074054296:error:2306B076:PKCS12 routines:PKCS12_gen_mac:unknown digest algorithm:p12_mutl.c:88:
3074054296:error:2307E06D:PKCS12 routines:PKCS12_verify_mac:mac generation error:p12_mutl.c:122:

Пароль точно правильный ввожу. ( Что не так делаю? Сейчас получается в системе две openssl, одна стандартная из дистра 0.9.8, а другая, которую сам собирал 1.0.1c, лежит в /gost-ssl/bin/openssl

Тоже наступил на эти грабли. Вы посмотрите, что говорит openssl version.

У меня запускалась "старая". Тупо скопировал бинарник "новой" openssl в /usr/bin и все зажужжало.

Версия та, вызываю по абсолютному пути. Проблема оказалась в том, что не сконфигурировал. Вот тут написано что в конфиг добавить http://www.cryptocom.ru/products/openssl-1-config-ru.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблема оказалась в том, что не сконфигурировал. Вот тут написано что в конфиг добавить http://www.cryptocom.ru/products/openssl-1-config-ru.html

Так я же Вам давал эту ссылку, не почитали? ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так я же Вам давал эту ссылку, не почитали? ;)

Ага. Все бегом. В любом случае спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

реализация "на коленке" на perl:

#!/usr/bin/perl -w

use strict;
use SOAP::Lite;
use MIME::Base64;
use Sys::Syslog qw(:DEFAULT setlogsock);

my %n;
($n{sec},$n{min},$n{hour},$n{mday},$n{mon},$n{year},$n{wday},$n{yday},$n{isdst}) = localtime(time());
$n{year}+=1900;
$n{mon}++;
$n{mon}=~s/^(\d)$/0$1/;
$n{mday}=~s/^(\d)$/0$1/;
$n{hour}=~s/^(\d)$/0$1/;
$n{min}=~s/^(\d)$/0$1/;
$n{sec}=~s/^(\d)$/0$1/;
my $dt="$n{year}-$n{mon}-$n{mday}T$n{hour}:$n{min}:$n{sec}.000+04:00";
my $mode = $ARGV[0];
my $service = SOAP::Lite->service("http://www.zapret-info.gov.ru/services/OperatorRequest?wsdl");

if ($mode eq 0) {
   open LDDTS, "./var/lastdumpdate";
   my @lddts = <LDDTS>;
   close LDDTS;
   my $lddts = $lddts[0];

   my $lddn = $service->getLastDumpDate;

   if ($lddn > $lddts) {
       mylog("got new LastDumpDate version $lddn, try send request");
       open (XMLREQ, ">./var/request.xml");
       print XMLREQ "<?xml version=\"1.0\" encoding=\"windows-1251\"?>\n";
       print XMLREQ "<request>\n\t<requestTime>$dt</requestTime>\n";
       print XMLREQ "\t<operatorName></operatorName>\n";
       print XMLREQ "\t<inn></inn>\n\t<ogrn></ogrn>\n";
       print XMLREQ "\t<email></email>\n</request>\n";
       close XMLREQ;

       system ("/usr/local/bin/openssl smime -sign -in ./var/request.xml -out ./var/request.bin".
           " -signer ./sig/certs.pem -inkey ./sig/key.pem -outform DER -nodetach");
#           " -signer ./sig/certs.pem -inkey ./sig/key.pem -outform DER");

       open XMLREQ, "./var/request.xml";
       my $xmlreq = do { local $/ = undef; <XMLREQ>; };
       close XMLREQ;

       open XMLREQSIG, "./var/request.bin";
       my $xmlreqsig = do { local $/ = undef; <XMLREQSIG>; };
       close XMLREQSIG;

       my @sendresult = $service->sendRequest(
           $xmlreq,
           $xmlreqsig
       );
       if ($sendresult[0] eq 'false') { 
           mylog("error request $sendresult[1]");
       } elsif ($sendresult[0] eq 'true') {
           open (CODESTRING, ">./var/codestring");
           print CODESTRING $sendresult[2];
           close CODESTRING;
       };
   } else {
       mylog ("LastDumpDate is not update, do not nothing");
   };

   open (LDDN, ">./var/lastdumpdate");
   print LDDN $lddn;
   close LDDN;
} elsif ($mode eq 1) {
   if (-e "./var/codestring") {
       open CODESTRING, "./var/codestring";
       my $codestring = <CODESTRING>;
       close CODESTRING;
       my @getresult = $service->getResult($codestring);
       if ($getresult[0] eq 'false') { 
           mylog ("$getresult[1]");
       } elsif ($getresult[0] eq 'true') {
           my $outarch = decode_base64($getresult[1]);
           open (OUT, ">./var/out.zip");
           print OUT $outarch;
           close OUT;
           unlink "./var/codestring";
           if (-e "./var/out.zip") {
               system("/bin/cp ./var/out.zip ./var/arch/out-$dt.zip");
               system("/usr/bin/unzip -o ./var/out.zip -d ./var");
               unlink "./var/out.zip";
               system("./xml-parser.pl");
           };
       } else { mylog ("getresult in unknown"); };
   } else { mylog ("codestring file not found"); };
} else { print "put argv '0' or '1'\n" };

sub mylog {
   my $logstring = $_[0];
   setlogsock 'unix';
   openlog ('get-ip-abuse', 'pid', 'user');
   syslog ('warning', $logstring);
   closelog();
};

исходя из методы, опубликованной на zapret-info, запускать скрипт нужно из планировщика в два этапа: сначала с аргументом 0 (формируется запрос, получаем строку с кодом, которую необходимо использовать на втором этапе), затем, через некоторе время (5-10 мин), с аргументом 1 (попытка получить выгрузку используя полученный ранее код).

Изменено пользователем tawer

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вообщем разобрался сам.

 

Сконвертил вот этой утилитой P12FromGostCS

openssl разгрыз как ужаленный!

 

Теперь проблема другая:

5) Подписываем запрос вот так:

openssl smime -sign -in request.xml -out request.xml.sign -binary -signer provider.pem -outform DER

 

мне выдает:

unable to load signing key file
140403004675752:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: ANY PRIVATE KEY

Изменено пользователем Korgoth

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

реализация "на коленке" на perl:

Вот спасибо. По моему даже красиво. Не сочтите за ленивость. Будем очень признательны и за xml-parser.pl

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

реализация "на коленке" на perl:

Вот спасибо. По моему даже красиво. Не сочтите за ленивость. Будем очень признательны и за xml-parser.pl

 

Могу предложить свою залипуху:

 

#!/usr/bin/perl

use strict;
use encoding 'utf-8';
use XML::Twig;

my $file = 'dump.xml';
my $twig = XML::Twig->new();

$twig->parsefile($file);

my $root = $twig->root;
my @cc = $root->children('content');
my @iplist;
my @urllist;

foreach my $dd (@cc){
   my @ips= $dd->children('ip');
   foreach my $ip (@ips){
push @iplist, $ip->text;
   }
}

my $prev='';
foreach my $ip (sort {
       my @a = split /\./, $a;
my @b = split /\./, $b;
$a[0] <=> $b[0] or 
$a[1] <=> $b[1] or 
$a[2] <=> $b[2] or 
$a[3] <=> $b[3]; } @iplist){
   print "$ip\n" if $ip ne $prev;
   $prev = $ip;
}

print "\n\n";

foreach my $dd (@cc){
   my @urls= $dd->children('url');
   foreach my $u (@urls){
push @urllist, $u->text;
   }
}

$prev='';
foreach my $u (sort @urllist){
   print "$u\n" if $u ne $prev;
   $prev = $u;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для скрипта господина tawer'а позволю предложить незначительное дополнение по конвертированию кодировки запроса. Хотя вроде и так работает...

перед строкой system ("/usr/local/bin/openssl smime -sign -in ./var/request.xml -out ./var/request.bin". добавляем:

system ("/usr/bin/iconv -f UTF8 -t WINDOWS-1251 ./var/request.xml -o ./var/request.xml");

Изменено пользователем apog

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Могу предложить свою залипуху:

Ага, спасибо, работает. Теперь надо допилить, чтоб в файлы рассовывал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Могу предложить свою залипуху:

Ага, спасибо, работает. Теперь надо допилить, чтоб в файлы рассовывал.

 

Чего там допиливать-то для рассовывания по файлам? Два принта поправить да open/close добавить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Было бы здорово всю информацию из этой ветки агрегировать на одной странице где-то, чтобы вновь прибывшие не бегали по 15 страницам ветки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Чего там допиливать-то для рассовывания по файлам? Два принта поправить да open/close добавить.

Ну да. Не шарю в этих перлах/питонах. Собезьянничал по коду, вроде так:

#!/usr/bin/perl

use strict;
use encoding 'utf-8';
use XML::Twig;

my $file = './var/dump.xml';
my $twig = XML::Twig->new();

$twig->parsefile($file);

my $root = $twig->root;
my @cc = $root->children('content');
my @iplist;
my @urllist;

foreach my $dd (@cc){
   my @ips= $dd->children('ip');
   foreach my $ip (@ips){
       push @iplist, $ip->text;
   }
}

my $prev='';
open (IPLIST, ">./var/iplist.txt");
foreach my $ip (sort {
       my @a = split /\./, $a;
       my @b = split /\./, $b;
       $a[0] <=> $b[0] or 
       $a[1] <=> $b[1] or 
       $a[2] <=> $b[2] or 
       $a[3] <=> $b[3]; } @iplist){
#    print "$ip\n" if $ip ne $prev;
   print IPLIST "$ip\n" if $ip ne $prev;
   $prev = $ip;
}
close IPLIST;

print "\n\n";

foreach my $dd (@cc){
   my @urls= $dd->children('url');
   foreach my $u (@urls){
       push @urllist, $u->text;
   }
}

$prev='';
open (URLLIST, ">./var/urllist.txt");
foreach my $u (sort @urllist){
#    print "$u\n" if $u ne $prev;
   print URLLIST "$u\n" if $u ne $prev;
   $prev = $u;
}
close URLLIST;

Изменено пользователем apog

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Будем очень признательны и за xml-parser.pl

с использованием класса "XML::Simple": (складывает только ip адреса в файл, без сортировки и т.п.)

#!/usr/bin/perl -w

use strict;
use XML::Simple;

my $xml = new XML::Simple;
my $data = $xml->XMLin("./var/dump.xml");

open (ABUSE_IP, ">./var/ip-abuse.txt");

foreach my $key (keys (%{$data-> {content}})) {
   foreach my $key2 (keys (%{$data->{content}->{$key}})) {
       if ($key2 eq 'ip') {
           if (ref $data->{content}->{$key}->{ip} eq 'ARRAY') {
               foreach my $ip (@{$data->{content}->{$key}->{ip}}) {
                   print ABUSE_IP "$ip\n";
               };
           } else {
               print ABUSE_IP "$data->{content}->{$key}->{ip}\n";
           };
       };
   };
};
close ABUSE_IP;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

      system ("/usr/local/bin/openssl smime -sign -in ./var/request.xml -out ./var/request.bin".

            " -signer ./sig/certs.pem -inkey ./sig/key.pem -outform DER -nodetach");

#           " -signer ./sig/certs.pem -inkey ./sig/key.pem -outform DER");

 

Объясните дураку, что есть certs.pem, а что key.pem?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Объясните дураку, что есть certs.pem, а что key.pem?

Ну наверное это зависит от того как там у вас сертификат ваш сделан. Я сделал так:

        system ("/gost-ssl/bin/openssl smime -sign -outform der -in ./var/request.xml -out ./var/request.sig".
           " -signer ./cert/provider.pem -nodetach");

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Уже не актуальна - геймланд убрали.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

GalVad, о, а мы паримся тут с подписями, со скриптами всякими. Выкладывайте регулярно, и всего делов то :)

Изменено пользователем apog

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.