

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengonfigurasi akses UTL\$1HTTP menggunakan sertifikat dan dompet Oracle
<a name="Oracle.Concepts.ONA"></a>

Amazon RDS mendukung akses jaringan keluar pada instans DB RDS for Oracle Anda. Untuk menghubungkan instans DB Anda ke jaringan, Anda dapat menggunakan PL/SQL paket-paket berikut:

`UTL_HTTP`  
Paket ini membuat panggilan HTTP dari SQL dan PL/SQL. Anda dapat menggunakannya untuk mengakses data di Internet melalui HTTP. Untuk informasi lebih lanjut, lihat [UTL\$1HTTP](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/UTL_HTTP.html#GUID-A85D2D1F-90FC-45F1-967F-34368A23C9BB) dalam dokumentasi Oracle.

`UTL_TCP`  
Paket ini menyediakan fungsionalitas akses TCP/IP sisi klien dalam PL/SQL. This package is useful to PL/SQL aplikasi yang menggunakan protokol Internet dan email. Untuk informasi lebih lanjut, lihat [UTL\$1TCP](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/UTL_TCP.html#GUID-348AFFE8-78B2-4217-AE73-384F46A1D292) dalam dokumentasi Oracle.

`UTL_SMTP`  
Paket ini menyediakan antarmuka untuk perintah SMTP yang memungkinkan klien mengirim email ke server SMTP. Untuk informasi lebih lanjut, lihat [UTL\$1SMTP](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/UTL_SMTP.html#GUID-F0065C52-D618-4F8A-A361-7B742D44C520) dalam dokumentasi Oracle.

Dengan menyelesaikan tugas-tugas berikut, Anda dapat mengonfigurasi `UTL_HTTP.REQUEST` agar bisa berfungsi dengan situs web yang memerlukan sertifikat autentikasi klien selama SSL handshake. Anda juga dapat mengonfigurasi autentikasi kata sandi untuk akses `UTL_HTTP` ke situs web dengan memodifikasi perintah pembuatan dompet Oracle dan prosedur `DBMS_NETWORK_ACL_ADMIN.APPEND_WALLET_ACE`. Untuk informasi selengkapnya, lihat [DBMS\$1NETWORK\$1ACL\$1ADMIN](https://docs.oracle.com/en/database/oracle/oracle-database/21/arpls/DBMS_NETWORK_ACL_ADMIN.html) dalam dokumentasi Oracle Database.

**catatan**  
Anda dapat mengadaptasi tugas berikut untuk `UTL_SMTP`, yang memungkinkan Anda mengirim email melalui SSL/TLS (termasuk [Amazon Simple Email Service](https://aws.amazon.com/ses/)).

**Topics**
+ [Pertimbangan saat mengonfigurasi akses UTL\$1HTTP](#utl_http-considerations)
+ [Langkah 1: Mendapatkan sertifikat root untuk situs web](#website-root-certificate)
+ [Langkah 2: Buat dompet Oracle](#create-oracle-wallet)
+ [Langkah 3: Unduh dompet Oracle Anda ke RDS Anda untuk instans Oracle](#upload-wallet-to-instance)
+ [Langkah 4: Berikan izin pengguna untuk dompet Oracle](#config-oracle-wallet-user)
+ [Langkah 5: Konfigurasikan akses ke situs web dari instans DB Anda](#config-website-access)
+ [Langkah 6: Uji koneksi dari instans DB Anda ke situs web](#test_utl_http)

## Pertimbangan saat mengonfigurasi akses UTL\$1HTTP
<a name="utl_http-considerations"></a>

Sebelum mengonfigurasi akses, pertimbangkan hal berikut:
+ Anda dapat menggunakan SMTP dengan opsi UTL\$1MAIL. Untuk informasi selengkapnya, lihat [Oracle \$1 UTL MAIL](Oracle.Options.UTLMAIL.md).
+ Nama Domain Name Server (DNS) dari host jarak jauh dapat berupa: 
  + Dapat diatasi secara publik.
  + Titik akhir instans DB Amazon RDS.
  + Dapat diatasi melalui server DNS kustom. Untuk informasi selengkapnya, lihat [Menyiapkan server DNS kustom](Appendix.Oracle.CommonDBATasks.System.md#Appendix.Oracle.CommonDBATasks.CustomDNS). 
  + Nama DNS privat dari instans Amazon EC2 dalam VPC yang sama atau VPC tersambung. Dalam hal ini, pastikan bahwa nama dapat diatasi melalui server DNS kustom. Sebagai alternatif, untuk menggunakan DNS yang disediakan oleh Amazon, Anda dapat mengaktifkan atribut `enableDnsSupport` dalam pengaturan VPC dan mengaktifkan dukungan resolusi DNS untuk koneksi peering VPC. Untuk informasi lebih lanjut, lihat [Dukungan DNS dalam VPC Anda](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) dan [Memodifikasi koneksi peering VPC Anda](https://docs.aws.amazon.com/vpc/latest/peering/working-with-vpc-peering.html#modify-peering-connections). 
  + Untuk terhubung dengan aman ke SSL/TLS sumber daya jarak jauh, kami sarankan Anda membuat dan mengunggah dompet Oracle yang disesuaikan. Dengan menggunakan integrasi Amazon S3 dengan fitur Amazon RDS for Oracle, Anda dapat mengunduh dompet dari Amazon S3 ke instans DB Oracle. Untuk informasi tentang integrasi Amazon S3 untuk Oracle, lihat [Integrasi Amazon S3](oracle-s3-integration.md).
+ Anda dapat membuat tautan basis data antara instans DB Oracle melalui titik akhir SSL/TLS jika opsi Oracle SSL dikonfigurasi untuk setiap instans. Tidak diperlukan konfigurasi lebih lanjut. Untuk informasi selengkapnya, lihat [Lapisan Soket Aman Oracle](Appendix.Oracle.Options.SSL.md).

## Langkah 1: Mendapatkan sertifikat root untuk situs web
<a name="website-root-certificate"></a>

Agar instans DB RDS for Oracle dapat membuat koneksi aman ke situs web, tambahkan sertifikat root CA. Amazon RDS menggunakan sertifikat root untuk menandatangani sertifikat situs web ke dompet Oracle.

Anda bisa mendapatkan sertifikat root dengan berbagai cara. Misalnya, Anda dapat melakukan hal berikut:

1. Gunakan server web untuk mengunjungi situs web yang diamankan oleh sertifikat tersebut.

1. Unduh sertifikat root yang digunakan untuk penandatanganan.

Untuk AWS layanan, sertifikat root biasanya berada di repositori [layanan kepercayaan Amazon](https://www.amazontrust.com/repository/).

## Langkah 2: Buat dompet Oracle
<a name="create-oracle-wallet"></a>

Buat dompet Oracle yang berisi sertifikat server web dan sertifikat autentikasi klien. Instans RDS Oracle menggunakan sertifikat server web untuk membuat koneksi aman ke situs web. Situs web tersebut membutuhkan sertifikat klien untuk mengautentikasi pengguna basis data Oracle.

Anda sebaiknya mengonfigurasi koneksi aman tanpa menggunakan sertifikat klien untuk autentikasi. Dalam kasus ini, Anda dapat melewati langkah-langkah keystore Java dalam prosedur berikut.

**Untuk membuat dompet Oracle**

1. Tempatkan sertifikat root dan klien dalam satu direktori, dan kemudian ubah ke direktori ini.

1. Ubah sertifikat klien.p12 ke keystore Java.
**catatan**  
Jika Anda tidak menggunakan sertifikat klien untuk autentikasi, Anda dapat melewati langkah ini.

   Contoh berikut mengkonversi sertifikat klien bernama *client\$1certificate.p12* ke keystore Java bernama. *client\$1keystore.jks* Keystore tersebut kemudian disertakan dalam dompet Oracle. Kata sandi keystore adalah*P12PASSWORD*.

   ```
   orapki wallet pkcs12_to_jks -wallet ./client_certificate.p12 -jksKeyStoreLoc ./client_keystore.jks -jksKeyStorepwd P12PASSWORD
   ```

1. Buat direktori untuk dompet Oracle Anda yang berbeda dari direktori sertifikat.

   Contoh berikut membuat direktori `/tmp/wallet`.

   ```
   mkdir -p /tmp/wallet
   ```

1. Buat dompet Oracle di direktori dompet Anda.

   Contoh berikut menetapkan kata sandi dompet Oracle ke*P12PASSWORD*, yang merupakan kata sandi yang sama yang digunakan oleh keystore Java pada langkah sebelumnya. Penggunaan kata sandi yang sama memang memudahkan, tetapi tidak wajib. Parameter `-auto_login` mengaktifkan fitur masuk otomatis, sehingga Anda tidak perlu menentukan kata sandi setiap kali Anda ingin mengaksesnya.
**catatan**  
Tetapkan kata sandi selain perintah yang ditampilkan di sini sebagai praktik terbaik keamanan.

   ```
   orapki wallet create -wallet /tmp/wallet -pwd P12PASSWORD -auto_login
   ```

1. Tambahkan keystore Java ke dompet Oracle Anda.
**catatan**  
Jika Anda tidak menggunakan sertifikat klien untuk autentikasi, Anda dapat melewati langkah ini.

   Contoh berikut menambahkan keystore *client\$1keystore.jks* ke dompet Oracle bernama. */tmp/wallet* Dalam contoh ini, Anda menentukan kata sandi yang sama untuk keystore Java dan dompet Oracle.

   ```
   orapki wallet jks_to_pkcs12 -wallet /tmp/wallet -pwd P12PASSWORD -keystore ./client_keystore.jks -jkspwd P12PASSWORD
   ```

1. Tambahkan sertifikat root untuk situs web target Anda ke dompet Oracle.

   Contoh berikut menambahkan sertifikat bernama*Root\$1CA.cer*.

   ```
   orapki wallet add -wallet /tmp/wallet -trusted_cert -cert ./Root_CA.cer -pwd P12PASSWORD
   ```

1. Tambahkan sertifikat perantara apa pun.

   Contoh berikut menambahkan sertifikat bernama*Intermediate.cer*. Ulangi langkah ini seperlunya untuk memuat semua sertifikat perantara.

   ```
   orapki wallet add -wallet /tmp/wallet -trusted_cert -cert ./Intermediate.cer -pwd P12PASSWORD
   ```

1. Konfirmasikan bahwa dompet Oracle Anda yang baru dibuat memiliki sertifikat yang diperlukan.

   ```
   orapki wallet display -wallet /tmp/wallet -pwd P12PASSWORD
   ```

## Langkah 3: Unduh dompet Oracle Anda ke RDS Anda untuk instans Oracle
<a name="upload-wallet-to-instance"></a>

Pada langkah ini, Anda mengunggah dompet Oracle Anda ke Amazon S3, lalu mengunduh dompet tersebut dari Amazon S3 ke instans RDS for Oracle Anda.

**Untuk mengunduh dompet Oracle Anda ke instans DB RDS for Oracle Anda**

1. Lengkapi persyaratan untuk integrasi Amazon S3 dengan Oracle, dan tambahkan opsi `S3_INTEGRATION` untuk instans DB Oracle Anda. Pastikan bahwa peran IAM untuk opsi tersebut memiliki akses ke bucket Amazon S3 yang Anda gunakan.

   Untuk informasi selengkapnya, lihat [Integrasi Amazon S3](oracle-s3-integration.md).

1. Masuk ke instans DB Anda sebagai pengguna master, lalu buat direktori Oracle untuk menyimpan dompet Oracle.

   Contoh berikut menciptakan sebuah direktori Oracle bernama*WALLET\$1DIR*.

   ```
   EXEC rdsadmin.rdsadmin_util.create_directory('WALLET_DIR');
   ```

   Untuk informasi selengkapnya, lihat [Membuat dan menghapus direktori di ruang penyimpanan data utama](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.NewDirectories).

1. Unggah dompet Oracle ke bucket Amazon S3.

   Anda dapat menggunakan teknik unggahan apa pun yang didukung.

1. Jika Anda mengunggah ulang dompet Oracle, hapus dompet yang ada. Jika tidak, lewati ke langkah berikutnya.

   Contoh berikut menghapus dompet yang ada, yang diberi nama*cwallet.sso*.

   ```
   EXEC UTL_FILE.FREMOVE ('WALLET_DIR','cwallet.sso');
   ```

1. Unduh dompet Oracle dari bucket Amazon S3 ke instans DB Oracle.

   Contoh berikut mengunduh dompet yang dinamai *cwallet.sso* dari bucket Amazon S3 yang dinamai *my\$1s3\$1bucket* ke direktori instans DB bernama. *WALLET\$1DIR*

   ```
   SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
         p_bucket_name    =>  'my_s3_bucket', 
         p_s3_prefix      =>  'cwallet.sso', 
         p_directory_name =>  'WALLET_DIR') 
      AS TASK_ID FROM DUAL;
   ```

1. (Opsional) Unduh dompet Oracle yang dilindungi kata sandi.

   Unduh dompet ini hanya jika Anda ingin mewajibkan kata sandi untuk setiap penggunaan dompet. Contoh berikut mengunduh dompet yang dilindungi kata sandi. *ewallet.p12*

   ```
   SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
         p_bucket_name    =>  'my_s3_bucket', 
         p_s3_prefix      =>  'ewallet.p12', 
         p_directory_name =>  'WALLET_DIR') 
      AS TASK_ID FROM DUAL;
   ```

1. Periksa status tugas DB Anda.

   Gantikan ID tugas yang dikembalikan dari langkah-langkah sebelumnya untuk *dbtask-1234567890123-4567.log* dalam contoh berikut.

   ```
   SELECT TEXT FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-1234567890123-4567.log'));
   ```

1. Periksa konten direktori yang Anda gunakan untuk menyimpan dompet Oracle.

   ```
   SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'WALLET_DIR'));
   ```

   Untuk informasi selengkapnya, lihat [Membuat daftar file di direktori instans DB](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ListDirectories).

## Langkah 4: Berikan izin pengguna untuk dompet Oracle
<a name="config-oracle-wallet-user"></a>

Anda dapat membuat pengguna basis data baru atau mengonfigurasi pengguna yang sudah ada. Dalam kedua kasus tersebut, Anda harus mengonfigurasi pengguna untuk mengakses dompet Oracle untuk koneksi yang aman dan autentikasi klien menggunakan sertifikat.

**Untuk memberikan izin pengguna untuk dompet Oracle**

1. Masuk ke instans DB RDS for Oracle sebagai pengguna master.

1. Jika Anda tidak ingin mengonfigurasi pengguna yang sudah ada, buat pengguna baru. Jika tidak, lewati ke langkah berikutnya.

   Contoh berikut membuat database pengguna bernama*my-user*.

   ```
   CREATE USER my-user IDENTIFIED BY my-user-pwd;
   GRANT CONNECT TO my-user;
   ```

1. Berikan izin kepada pengguna basis data Anda di direktori yang berisi dompet Oracle Anda.

   Contoh berikut memberikan akses baca ke pengguna *my-user* di direktori*WALLET\$1DIR*.

   ```
   GRANT READ ON DIRECTORY WALLET_DIR TO my-user;
   ```

1. Berikan izin kepada pengguna basis data Anda untuk menggunakan paket `UTL_HTTP`.

    PL/SQL Program berikut memberikan `UTL_HTTP` akses ke pengguna*my-user*.

   ```
   BEGIN 
     rdsadmin.rdsadmin_util.grant_sys_object('UTL_HTTP', UPPER('my-user')); 
     END;
   /
   ```

1. Berikan izin kepada pengguna basis data Anda untuk menggunakan paket `UTL_FILE`.

    PL/SQL Program berikut memberikan `UTL_FILE` akses ke pengguna*my-user*.

   ```
   BEGIN 
     rdsadmin.rdsadmin_util.grant_sys_object('UTL_FILE', UPPER('my-user')); 
     END;
   /
   ```

## Langkah 5: Konfigurasikan akses ke situs web dari instans DB Anda
<a name="config-website-access"></a>

Pada langkah ini, Anda mengonfigurasi agar pengguna basis data Oracle Anda dapat terhubung ke situs web target Anda menggunakan `UTL_HTTP`, dompet Oracle yang Anda unggah, dan sertifikat klien. Untuk informasi selengkapnya, lihat [Configuring Access Control to an Oracle Wallet](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/managing-fine-grained-access-in-pl-sql-packages-and-types.html#GUID-0BCB5925-A40F-4507-95F9-5DA4A1919EBD) dalam dokumentasi Oracle Database.

**Untuk mengonfigurasikan akses ke situs web dari instans DB RDS for Oracle Anda**

1. Masuk ke instans DB RDS for Oracle sebagai pengguna master.

1. Buat Entri Kontrol Akses Host (ACE) untuk pengguna Anda dan situs web target pada port yang aman.

   Contoh berikut mengkonfigurasi *my-user* untuk mengakses *secret.encrypted-website.com* pada port aman 443.

   ```
   BEGIN
     DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
       host       => 'secret.encrypted-website.com', 
       lower_port => 443,
       upper_port => 443,
       ace        => xs$ace_type(privilege_list => xs$name_list('http'),
                                 principal_name => 'my-user',
                                 principal_type => xs_acl.ptype_db)); 
                              -- If the program unit results in PLS-00201, set
                              -- the principal_type parameter to 2 as follows:
                              -- principal_type => 2));
   END;
   /
   ```
**penting**  
Unit program sebelumnya dapat mengakibatkan kesalahan berikut: `PLS-00201: identifier 'XS_ACL' must be declared`. Jika kesalahan ini dikembalikan, ganti baris yang menetapkan nilai ke `principal_type` dengan baris berikut, lalu jalankan kembali unit program tersebut:  

   ```
   principal_type => 2));
   ```
Untuk informasi selengkapnya tentang konstanta dalam PL/SQL paket`XS_ACL`, lihat [https://docs.oracle.com/en/database/oracle/oracle-database/19/dbfsg/XS_ACL-package.html#GUID-A157FB28-FE23-4D30-AAEB-8224230517E7](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbfsg/XS_ACL-package.html#GUID-A157FB28-FE23-4D30-AAEB-8224230517E7) Oracle Database.

   Untuk informasi selengkapnya, lihat [Configuring Access Control for External Network Services](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/managing-fine-grained-access-in-pl-sql-packages-and-types.html#GUID-3D5B66BC-0277-4887-9CD1-97DB44EB5213) dalam dokumentasi Oracle Database.

1. (Opsional) Buat ACE untuk pengguna Anda dan situs web target pada port standar. 

   Anda mungkin perlu menggunakan port standar jika beberapa halaman web disajikan dari port server web standar (80), bukan port aman (443).

   ```
   BEGIN
     DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
       host       => 'secret.encrypted-website.com', 
       lower_port => 80,
       upper_port => 80,
       ace        => xs$ace_type(privilege_list => xs$name_list('http'),
                                 principal_name => 'my-user',
                                 principal_type => xs_acl.ptype_db)); 
                              -- If the program unit results in PLS-00201, set
                              -- the principal_type parameter to 2 as follows:
                              -- principal_type => 2));
   END;
   /
   ```

1. Konfirmasikan bahwa entri kontrol akses sudah ada.

   ```
   SET LINESIZE 150
   COLUMN HOST FORMAT A40
   COLUMN ACL FORMAT A50
   
   SELECT HOST, LOWER_PORT, UPPER_PORT, ACL
     FROM DBA_NETWORK_ACLS
   ORDER BY HOST;
   ```

1. Berikan izin kepada pengguna basis data Anda untuk menggunakan paket `UTL_HTTP`.

    PL/SQL Program berikut memberikan `UTL_HTTP` akses ke pengguna*my-user*.

   ```
   BEGIN 
     rdsadmin.rdsadmin_util.grant_sys_object('UTL_HTTP', UPPER('my-user')); 
     END;
   /
   ```

1. Konfirmasikan bahwa daftar kontrol akses terkait sudah ada.

   ```
   SET LINESIZE 150
   COLUMN ACL FORMAT A50
   COLUMN PRINCIPAL FORMAT A20
   COLUMN PRIVILEGE FORMAT A10
   
   SELECT ACL, PRINCIPAL, PRIVILEGE, IS_GRANT,
          TO_CHAR(START_DATE, 'DD-MON-YYYY') AS START_DATE,
          TO_CHAR(END_DATE, 'DD-MON-YYYY') AS END_DATE
     FROM DBA_NETWORK_ACL_PRIVILEGES
   ORDER BY ACL, PRINCIPAL, PRIVILEGE;
   ```

1. Berikan izin kepada pengguna basis data Anda untuk menggunakan sertifikat untuk autentikasi klien dan dompet Oracle Anda untuk koneksi.
**catatan**  
Jika Anda tidak menggunakan sertifikat klien untuk autentikasi, Anda dapat melewati langkah ini.

   ```
   DECLARE
     l_wallet_path all_directories.directory_path%type;
   BEGIN
     SELECT DIRECTORY_PATH 
       INTO l_wallet_path 
       FROM ALL_DIRECTORIES
      WHERE UPPER(DIRECTORY_NAME)='WALLET_DIR';
     DBMS_NETWORK_ACL_ADMIN.APPEND_WALLET_ACE(
       wallet_path => 'file:/' || l_wallet_path,
       ace         =>  xs$ace_type(privilege_list => xs$name_list('use_client_certificates'),
                                   principal_name => 'my-user',
                                   principal_type => xs_acl.ptype_db));
   END;
   /
   ```

## Langkah 6: Uji koneksi dari instans DB Anda ke situs web
<a name="test_utl_http"></a>

Pada langkah ini, Anda mengonfigurasi agar pengguna basis data Anda dapat terhubung ke situs web tersebut menggunakan `UTL_HTTP`, dompet Oracle yang Anda unggah, dan sertifikat klien.

**Untuk mengonfigurasikan akses ke situs web dari instans DB RDS for Oracle Anda**

1. Masuk ke instans DB RDS for Oracle Anda sebagai pengguna basis data dengan izin `UTL_HTTP`.

1. Konfirmasikan bahwa koneksi ke situs web target Anda dapat menyelesaikan alamat host.

   Contoh berikut mendapatkan alamat host dari*secret.encrypted-website.com*.

   ```
   SELECT UTL_INADDR.GET_HOST_ADDRESS(host => 'secret.encrypted-website.com')
     FROM DUAL;
   ```

1. Uji koneksi yang gagal.

   Kueri berikut gagal karena `UTL_HTTP` memerlukan lokasi dompet Oracle dengan sertifikat.

   ```
   SELECT UTL_HTTP.REQUEST('secret.encrypted-website.com') FROM DUAL;
   ```

1. Uji akses situs web menggunakan `UTL_HTTP.SET_WALLET` dan memilih dari `DUAL`.

   ```
   DECLARE
     l_wallet_path all_directories.directory_path%type;
   BEGIN
     SELECT DIRECTORY_PATH
       INTO l_wallet_path 
       FROM ALL_DIRECTORIES
      WHERE UPPER(DIRECTORY_NAME)='WALLET_DIR';
     UTL_HTTP.SET_WALLET('file:/' || l_wallet_path);
   END;
   /
   
   SELECT UTL_HTTP.REQUEST('secret.encrypted-website.com') FROM DUAL;
   ```

1. (Opsional) Uji akses situs web dengan menyimpan kueri Anda dalam variabel dan menggunakan `EXECUTE IMMEDIATE`.

   ```
   DECLARE
     l_wallet_path all_directories.directory_path%type;
     v_webpage_sql VARCHAR2(1000);
     v_results     VARCHAR2(32767);
   BEGIN
     SELECT DIRECTORY_PATH
       INTO l_wallet_path 
       FROM ALL_DIRECTORIES
      WHERE UPPER(DIRECTORY_NAME)='WALLET_DIR';
     v_webpage_sql := 'SELECT UTL_HTTP.REQUEST(''secret.encrypted-website.com'', '''', ''file:/' ||l_wallet_path||''') FROM DUAL';
     DBMS_OUTPUT.PUT_LINE(v_webpage_sql);
     EXECUTE IMMEDIATE v_webpage_sql INTO v_results;
     DBMS_OUTPUT.PUT_LINE(v_results);
   END;
   /
   ```

1. (Opsional) Temukan lokasi sistem file direktori dompet Oracle Anda.

   ```
   SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'WALLET_DIR'));
   ```

   Gunakan output dari perintah sebelumnya untuk membuat permintaan HTTP. Misalnya, jika direktori adalah*rdsdbdata/userdirs/01*, jalankan query berikut.

   ```
   SELECT UTL_HTTP.REQUEST('https://secret.encrypted-website.com/', '', 'file://rdsdbdata/userdirs/01') 
   FROM   DUAL;
   ```