213 DBMS_USER_CERTS
DBMS_USER_CERTSパッケージでは、証明書を追加および削除できます。
この章のトピックは、次のとおりです:
参照:
- ブロックチェーン表の非表示列の詳細は、ブロックチェーン表の非表示列を参照してください
213.1 DBMS_USER_CERTSの概要
DBMS_USER_CERTSパッケージでは、証明書を追加および削除できます。
DBMS_USER_CERTSパッケージでは、次の操作ができます。
- 証明書の追加
- 証明書の削除
1つのユースケースとして、デジタル署名をブロックチェーン表の行に添付し、後でデジタル署名を検証できます。 ブロックチェーン表内の1つ以上の行への署名に使用され、その後期限切れになった証明書は、ブロックチェーン表からそれらすべての行が削除されるまでデータベースに残っている必要があります。
213.2 DBMS_USER_CERTSのセキュリティ・モデル
DBMS_USER_CERTSパッケージは、SYSによって所有され、データベース・インストールの一環としてインストールされます。
ADD_CERTIFICATE()プロシージャとDROP_CERTIFICATE()サブプログラムはいずれも、データベース・ユーザーが実行できます。DBMS_USER_CERTSパッケージに対するEXECUTE権限は、PUBLICロールに付与されます。- データベース・ユーザーは
ADD_CERTIFICATE()を使用して複数の証明書を追加でき、各証明書はGUIDを使用して一意に識別されます。 SYSDBAまたは証明書を所有するユーザーのみが、DROP_CERTIFICATE()を使用して削除できます。
213.3 DBMS_USER_CERTSサブプログラムの要約
DBMS_USER_CERTSパッケージでは、ADD_CERTIFICATE、ADD_COPYおよびDROP_CERTIFICATEサブプログラムを使用して、現行のユーザーによるブロックチェーン表の署名検証に使用されるX.509証明書を追加、コピーおよび削除します。
表213-1 DBMS_USER_CERTSパッケージ・サブプログラム
| サブプログラム | 説明 |
|---|---|
| ADD_CERTIFICATEプロシージャ | ブロックチェーン表の署名検証に使用されるX.509証明書を追加します。
|
| ADD_COPYプロシージャ | データベースに証明書を追加して、その証明書に特定のグローバル一意識別子(GUID)を割り当てます。 |
| DROP_CERTIFICATEプロシージャ | ブロックチェーン表の署名検証に使用される証明書を削除します。 |
213.3.1 ADD_CERTIFICATEプロシージャ
このプロシージャは、ブロックチェーン表の署名検証に使用されるX.509証明書を追加するために現行のユーザーが使用できます。
構文
DBMS_USER_CERTS.ADD_CERTIFICATE( x509_cert IN BLOB, cert_id OUT RAW);
パラメータ
表213-2 ADD_CERTIFICATEプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
ブロックチェーン表の署名検証に使用されるX.509証明書。
|
cert_id |
証明書のグローバル一意識別子(GUID)。 |
213.3.2 ADD_COPYプロシージャ
このプロシージャでは、データベースに証明書を追加して、その証明書に特定のグローバル一意識別子(GUID)を割り当てることができます。
このプロシージャは、あるデータベースで以前に作成された証明書のコピーを作成して、そのGUIDを保持しながら別のデータベースにコピーを追加する必要がある場合に使用します。 あるデータベースでブロックチェーン表の署名を記録して、その署名を別のデータベースで検証する場合は、証明書のGUIDを保持する必要があります。 シナリオ例として、Oracle Data Pumpを使用してデータベース間でブロックチェーン表をコピーする場合が挙げられます。 別のシナリオとしては、Oracle GoldenGateを使用してデータベース間でブロックチェーン表内の行をレプリケートする場合が挙げられます。
構文
DBMS_USER_CERTS.ADD_COPY( x509_cert IN BLOB, cert_id IN RAW, username IN VARCHAR2 DEFAULT NULL);
パラメータ
表213-3 ADD_COPYプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
ブロックチェーン表の署名検証に使用されるX.509証明書。
|
cert_id |
証明書のグローバル一意識別子(GUID)。 |
username |
証明書の所有者になるユーザーの名前。 NULL値は、現在のユーザーを指すデフォルト値です。
|
使用上のノート
usernameがNULLでない場合は、usernameが現在のユーザーを表しているか、現在のユーザーがSYSDBAであることが必要です。