Identity Synchronization for Windows は自動的にActive Directory SSL 証明書を SSL 経由で取得し、それらをコネクタの証明書データベースにコネクタに指定した資格と同じものでインポートします。
しかし、エラーが発生 (たとえば、無効な資格が見つかった、または SSL 証明書が見つからなかったなど) した場合は、Active Directory CA 証明書を取得して、それをコネクタの証明書データベースに追加できます。手順については次を参照してください。
エラーが発生した場合、次に説明するように certutil (Windows 2000/2003 に付属のプログラム) または LDAP を使用して Active Directory 証明書を取得できます。
この節で説明する certutil コマンドは、前述の Directory Server に付属の certutil コマンドとは異なります。
Active Directory マシンから次のコマンドを実行して証明書をエクスポートします。
C:\>certutil -ca.cert cacert.bin |
その後 cacert.bin ファイルを証明書データベースにインポートできます。
Active Directory に対して次の検索を行います。
ldapsearch -h CR-hostname -D administrator_DN -w administrator_password -b "cn=configuration,dc=put,dc=your,dc=domain,dc=here" "cacertificate=*" |
ここで、administrator_DN は次のようになります。
cn=administrator,cn=users,dc=put,dc=your,dc=domain,dc=here |
この例で、ドメイン名は put.your.domain.name.here です。
いくつかのエントリが検索フィルタに一致します。この DN で cn=Certification Authorities, cn=Public Key Services を使用したエントリがおそらく必要です。
テキストエディタを開いて、最初の CA 証明書属性の最初の値を切り取ります (Base64 で符号化されたテキストブロックになります)。値 (テキストブロック) をテキストエディタに貼り付けます (値のみ)。どの行も空白から始まらないようにコンテンツを編集します。
最初の行の前に -----BEGIN CERTIFICATE-----、最後の行のあとに -----END CERTIFICATE----- を追加します。次の例を参照してください。
-----BEGIN CERTIFICATE----- MIIDvjCCA2igAwIBAgIQDgoyk+Tu14NGoQnxhmNHLjANBgk qhkiG9w0BAQUFADCBjjEeMBwGCSqGSIb3DQEJARYPYmVydG 9sZEBzdW4uY29tMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV FgxDzANBgNVBAcTBkF1c3RpbjEZMBcGA1UEChMQU3VuIE1p Y3Jvc3lzdGVtczEQMA4GA1UECxMHaVBsYW5ldDEUMBIGA1U EAxMLUmVzdGF1cmFudHMwHhcNMDIwMTExMDA1NDA5WhcNMT IwMTExMDA1OTQ2WjCBjjEeMBwGCSqGSIb3DQEJARYPYmVyd G9sZEBzdW4uY29tMQswCQYDVQQGEwJVUELMAkGA1UECBMCV FgxDzANBgNVBAcTBkF1c3RpbjEZMBcGA1UEChMQU3VuIE1p Y3Jvc3lzdGVtczEQMA4GA1UECxMHaVBsYW5ldDEUMBIGA1U EAxMLUmVzdGF1cmFudHMwXDANBgkqhkiG9w0BAQEFAANLAD BIAkEAyekZa8gwwhw3rLK3eV/12St1DVUsg31LOu3CnB8cM HQZXlgiUgtQ0hm2kpZ4nEhwCAHhFLD3iIhIP4BGWQFjcwID AQABo4IBnjCCAZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwY DVR0PBAQDAgFGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBB YEFJ5Bgt6Oypq7T8Oykw4LH6ws2d/IMIIBMgYDVR0fBIIBK TCCASUwgdOggdCggc2GgcpsZGFwOi8vL0NOPVJlc3RhdXJh bnRzLENOPWRvd2l0Y2hlcixDTj1DRFAsQ049UHVibGljJTI wS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZm lndXJhdGlvbixEQz1yZXN0YXVyYW50cyxEQz1jZW50cmFsL RPXN1bixEQz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0aW9u TGlzdD9iYXNlP29iamVjdGNsYXNzPWNSTERpc3RyaWJ1dGl vblBvaW50ME2gS6BJhkdodHRwOi8vZG93aXRjaGVyLnJlc3 RhdXJhbnRzLmNlbnRyYWwuc3VuLmNvbS9DZXJ0RW5yb2xsL 1Jlc3RhdXJhbnRzLmNybDAQBgkrBgEEAYI3FQEEAwIBADAN BgkqhkiG9w0BAQUFAANBAL5R9R+ONDdVHWu/5Sd9Tn9dpxN 8oegjS88ztv1HD6XSTDzGTuaaVebSZV3I+ghSInsgQbH0gW 4fGRwaI BvePI4= -----END CERTIFICATE----- |
証明書をファイル (ad-cert.txt など) に保存します。
その後、このファイル (ad-cert.txt など) を証明書データベースにインポートできます。次の節 「Active Directory 証明書のコネクタの証明書データベースへの追加」に進みます。
この手順は、Active Directory コネクタのインストール後にコネクタに対して SSL を有効にしている場合、またはインストール中に無効な資格が指定された場合にのみ使用します。
Active Directory コネクタがインストールされたマシンで Identity Synchronization for Windows サービス/デーモンを停止します。
次のいずれかの方法で Active Directory CA 証明書を取得します。
Active Directory コネクタのコネクタ ID が CNN101 (コネクタ ID からその ID が管理するディレクトリソースへのマッピングについては logs/central/ error.log を参照) であると仮定して、それがインストールされたマシンの証明書データベースディレクトリに移動して、証明書をファイルをインポートします。
certutil を使用して証明書を取得した場合は、次のように入力します。
<ISW-server-root>\shared\bin\certutil.exe -A -d . -n ad-ca-cert -t C,, -i \cacert.bin
LDAP を使用して証明書を取得した場合は、次のように入力します。
<ISW-server-root>\shared\bin\certutil.exe -A -d . -n ad-ca-cert -t C,, -a -i \ad-cert.txt
ISW-server-root は、ISW-hostname ディレクトリのあるパスです。
Solaris では、次の方法で dsadm コマンドを使用して証明書をインポートできます。
/opt/SUNWdsee/ds6/bin/dsadm add-cert -C <DS-server-root>/slapd-<hostname>/ ad-ca-cert cacert.bin
ここで、ad-ca-cert はインポート後に割り当てられた証明書の名前で、cacert.bin はインポートしようとしている証明書です。
Identity Synchronization for Windows サービス/デーモンを再起動します。
Directory Server の certutil.exe は Directory Server のインストール時に自動的にインストールされるため、Directory Server のないマシンにインストールされたコネクタに CA 証明書を追加することはできません。
少なくとも、Active Directory コネクタがインストールされたサーバーに、Directory Server パッケージから Sun Java System サーバーの基本ライブラリと Sun Java System サーバーの基本システムライブラリをインストールする必要があります。管理サーバーや Directory Server のコンポーネントをインストールする必要はありません。
また、アンインストールできるように、コンソールで JRE サブコンポーネントを選択します。