Service Registry 3 2005Q4 開発者ガイド

Service Registry の認証

Service Registry では証明書による認証が使用されるため、Service Registry にデータを送信するには証明書を持っている必要があります。また、レジストリにデータを送信できるユーザーを、Web コンソールのユーザー登録ウィザードを使って作成する必要もあります。詳細については、「Service Registry へのアクセス」を参照してください。

データを送信するには、クライアントはまず、その証明書を一連の「資格」に追加して Service Registry に送信する必要があります。次のコードは、その実行方法を示したものです。資格を取得するには、次の必須の値を指定する必要があります。

通常、これら 4 つの必須の値はリソースバンドルから取得し、メソッド内にコードの大部分をカプセル化します。

String keystorePath = "myKeystorePath";
String storepass = "myStorepass";
String alias = "myAlias";
String keypass = myKeypass");

Set credentials = new HashSet();
KeyStore keyStore = KeyStore.getInstance("JKS");
keyStore.load(new BufferedInputStream(
    new FileInputStream(keystorePath)),
     storepass.toCharArray());
X509Certificate cert = (X509Certificate)
     keyStore.getCertificate(alias);
PrivateKey privateKey =
     (PrivateKey) keyStore.getKey(alias, keypass.toCharArray());
credentials.add(new X500PrivateCredential(cert, privateKey,
    alias));
connection.setCredentials(credentials);

setCredentials メソッドが成功すると、ユーザーは Service Registry にログインした状態になり、オブジェクトを発行できるようになります。

Service Registry に対して認証するサンプルプログラムはすべて、このコードを含む getCredentialsFromKeystore という名前のメソッドを呼び出しています。このメソッドは、ファイル <INSTALL>/registry/samples/common/src/RegistryCredentials.java に定義されています。