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
であることが必要です。