Зворотний зв'язок

Криптопротокол S-HTTP

my $Experation = "2"; # Час дії рахунка

# Формування монотонно зростаючого номера запита

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);

my $RequestN = sprintf("%04d%02d%02d%02d%02d%02d", $year+1900, $mon+1, $mday, $hour, $min, $sec);

# Формування підписа

my $PlanStr = "$OrderID$LoginOfCust$PurseOfStores$Amount".

"$Desc$InvAddress$Period$Experation$RequestN";

my $pid = open2(*Reader, *Writer, "./WMSigner");

Writer->autoflush();

print Writer "$PlanStr04rn";

my $SignStr = ;

# Формування URL і https-виклик

my $W3sUrl="/asp/Invoice.asp?SL=$LoginOfStores&SP=$PurseOfStores &CL=$LoginOfCust&IN=$OrderID&D=$Desc&AD=$InvAddress&A=$Amount &E=$Experation&P=$Period&RN=$RequestN&SS=$SignStr";

my ($page, $result, %headers) =

&Net::SSLeay::get_https("w3s.webmoney.ru", 443, $W3sUrl);

# виведення результата

print "Content-type: text/htmlnn";

print "Result: n";

print $page;

Розберемо кожний блок більш докладно.

1. Підключення необхідних бібліотек

Скрипт використовує модуль FileHandle и IPC::Open2 для виконання WMSigner-а, передачі йому рядка для підписа і отримання підпису. Модуль Net::SSLeay використовується для формування https-запита до сертифікаційного сервера.2. Ініціалізація змінних

Включає в себе установку необхідних параметрів запита.

3. Формування монотонно зростаючого номера запита

Крім того кожен виклик будь-якого https-інтерфейса потребує наявності параметра RN=RequestN. Цей параметр повинен бути унікальним, не повторюватися від виклика до виклика зростаючим цілим числом. Параметр необхідний для того, щоб уникнути повторного виконання одного і того ж самого виклика інтерфейса. Даний параметр рекомендується формувати з поточної дати і часу комп’ютера, з якого виконується виклик інтерфейса. В цьому прикладі число формується з точністю до секунди. Такої точності достатньо для безлічі чисел систем. На даний час нема можливості скинути Дане значення, тому потрібно старатися не робити запити з необгрунтовано завищеними значеннями RequestN.


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат