Программирование >>  Oracle 

1 ... 442 443 444 [ 445 ] 446 447 448 ... 469


1758 Приложение А

<title>Oracle Corporation</title>

<meta http-equiv= Content-Type content= text/html; charset=iso-8859-l >

<meta name= description content= Oracle Corporation provides the software that

powers the Internet. For more information about Oracle, pleas e call 650/506-7000. >

Функцию REQUEST PIECES нельзя вызывать в SQL-операторах, поскольку она возвращает не SQL-тип, а PL/SQL-таблицу. Поэтому функцию REQUEST PIECES можно использовать только в PL/SQL-блоках. В представленном выше примере мы запросили первые 99999 фрагментов Web-страницы http: www.oracle.com/, каждый из которых длиной 2000 байт. При этом используется промежуточный сервер www-proxy. Мы должны передать функции REQUEST PIECES количество фрагментов по 2000 байт, которые мы хотим получить (обычно я задаю очень большое значение, поскольку хочу получить всю страницу). Если на запрошенной странице вас всегда интересуют первые 5000 байт информации, для ее получения можно запросить 3 фрагмента.

Добавление поддержки протокола SSL в пакете UTL HTTP

Пакет UTL HTTP также поддерживает использование протокола SSL (Secure Sockets Layer - уровень защищенных сокетов). Если вы не знакомы с протоколом SSL и его назначением, прочитайте краткое описание на странице http: www.rsasecurity.com/ rsalabs/faq/5-l-2.html. Обе функции, REQUEST и REQUEST PIECES, пакета UTL HTTP поддерживают получение URL, защищенных протоколом SSL. Однако в документации это описано, мягко говоря, в общих чертах. Поддержка протокола SSL обеспечивается путем передачи двух дополнительных параметров функциям UTL HTTP.REQUEST и UTL HTTP.REQUEST PIECES. Это параметры WALLET PATH и WALLET PASSWORD.

Сервер Oracle использует понятие бумажник (wallet) по аналогии с тем, как люди хранят важные документы, - паспорт, водительские права и кредитные карточки принято держать в бумажнике на случай, если их придется предъявлять. Сервер Oracle держит в своем бумажнике регистрационную информацию для протокола SSL. Параметр WALLET PATH задает каталог на машине, где работает сервер базы данных, в котором хранится этот бумажник . Доступ к бумажнику защищен паролем, чтобы другой пользователь не мог зарегистрироваться от вашего имени. Пароль передается как параметр WALLET PASSWORD - он используется для получения доступа к бумажнику . Пароль предотвращает копирование каталога бумажника другими пользователями, пытающимися выдать себя за вас, поскольку без него они не смогут работать с этим бумажником . Это аналогично использованию PIN-кода при снятии денег с карточки в банкомате. Если кто-то украдет вашу кредитку, чтобы добраться до счетов ему понадобится ввести ваш PIN-код.

Метафора бумажника используется не только сервером Oracle, но и Web-браузерами. Интересно, как при подключении к сайту, например, http: www.amazon.com, вы



Пакет UTL HTTP

1759

можете удостовериться, что это действительно служба Amazon.com? Необходимо получить их сертификат, с цифровой подписью авторитетной организации. Такие организации иногда называют бюро сертификации (Certificate Authority - CA). Откуда браузер или сервер базы данных знает, что можно доверять бюро, подписавшему сертификат? Например, я могу создать сертификат для Amazon.com и подписать его от имени hackerAttackers.com. Мой браузер и сервер базы данных не должны принять такой сертификат, хотя он полностью соответствует стандарту X.509.

Ответ на вопрос о доверии связан с использованием бумажника , в котором хранится набор надежных сертификатов. Надежным считается сертификат, выданный бюро сертификации, которому вы доверяете. В бумажник Oracle входит ряд сертификатов, которым обычно доверяют. Вы можете добавлять сертификаты при необходимости. То же самое делает и браузер. При подключении к сайту, сертификата для которого нет в бумажнике браузера, появляется окно, уведомляющее об этом, и мастер подключения, позволяющий продолжить подключение или отказаться от него.

Давайте рассмотрим несколько примеров использования протокола SSL. Сначала надо создать новый бумажник . Для этого надо вызвать программу OWM (Oracle Wallet Manager) в ОС UNIX или выбрать ее из меню кнопки Пуск в Windows (она находится в группе ORACLE HOMEjNETWORK ADMINISTRATION). При этом появится окно следующего вида:


Достаточно щелкнуть на пиктограмме нового бумажника (зеленый куб), которая находится слева. Будет выдано приглашение на ввод пароля для бумажника - задается новый пароль, так что можете ввести любой. Может быть выдано предупреждение о том, что каталог не существует. Проигнорируйте его. Так и должно быть, если раньше бумажники не создавались. Затем программа OWM предложит создать новый запрос сертификата:



1760

Приложение А


Его создавать не надо. Запрос сертификата означает, что вы хотите получить сертификат для своего компьютера. Он будет использоваться протоколом SSL v.3, когда серверу понадобится идентифицировать клиента. Большинство Web-сайтов аутентифици-рует пользователей не по сертификатам, а по регистрационному имени и паролю. Причина в том, что сайту электронной коммерции все равно, кто покупает товар, - лишь бы деньги заплатили. А вот вам важно точно знать, кому пос1лаются деньги (и информация о кредитной карточке), поэтому мы используем протокол SSL v.2 для идентификации сервера, например, Amazon.com и для шифрования данных. Поэтому щелкните на кнопке NO в ответ на это предложение, сохраните бумажник , щелкнув на пиктограмме SAVE WALLET (желтая дискета), и продолжайте работу.

Давайте сначала обратимся к сайту Amazon.com. Сертификат Amazon б]л подписан бюро Secure Server Certificate Authority, RSA Data Security, Inc. Это одно из стандартн1х бюро в бумажнике Oracle.

tkyte@TKYTE816> declare l output long;

l url varchar2(255). default

https: www.amazon.com/exec/obidos/flex-sign-in/;

l wallet path varchar2(255) default

file:C:\Documents and Settings\Thomas Kyte\ORACLE\WALLETS;

10 11 12 13 14 15 16

begin

l output := utl http.request

(url =>

proxy =>

wallet path => wallet password => ) ;

dbms output.put line(trim(substr(l output,1,255)));

l url,

www-proxy.us.oracle.com ,

l wallet path, oracle

19 end;

20 /

<html> <head>

<title>azon.com Error Page</title> </head>



1 ... 442 443 444 [ 445 ] 446 447 448 ... 469

© 2006 - 2025 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика