質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
LDAP

LDAPは、ディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリデータベースとは、ネットワークに存在するメールアドレスや環境などさまざまな情報を一元的に管理するサービスのことで、クライアントはLDAPサーバにアクセスしてユーザ名から検索や追加などの操作することができます。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Q&A

0回答

2378閲覧

ApacheDSを用いてLDAPSによる認証を行いたい

m_shige1979

総合スコア20

LDAP

LDAPは、ディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリデータベースとは、ネットワークに存在するメールアドレスや環境などさまざまな情報を一元的に管理するサービスのことで、クライアントはLDAPサーバにアクセスしてユーザ名から検索や追加などの操作することができます。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

0グッド

0クリップ

投稿2017/01/29 02:46

Java言語でLDAP認証を実現しようと思っています。

ApacheDS
http://directory.apache.org/

を用いてLDAPアクセス用サーバを以下のように用意しました。

・クライアント
→ MacOS

・サーバ
→ vagrant内のCentOS7
→ ApacheDSは最新ものをダウンロード

通常のLDAPによる認証自体は

java

1import java.util.Hashtable; 2 3import javax.naming.AuthenticationException; 4import javax.naming.Context; 5import javax.naming.directory.DirContext; 6import javax.naming.directory.InitialDirContext; 7 8public class Sample01 { 9 10 public static void main(String[] args) { 11 System.out.println(auth("uid=admin;ou=system", "secret")); 12 System.out.println(auth("uid=admin;ou=system", "ddddddddd")); 13 } 14 15 public static boolean auth(String uid, String password) { 16 boolean res = false; 17 18 //LDAP接続情報 19 Hashtable env = new Hashtable(); 20 env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); 21 env.put(Context.PROVIDER_URL, "ldap://192.168.33.10:10389/"); //LDAPサーバ 22 env.put(Context.SECURITY_AUTHENTICATION, "simple"); 23 env.put(Context.SECURITY_PRINCIPAL, uid); //ID, 組織 24 env.put(Context.SECURITY_CREDENTIALS, password); //パスワード 25 26 try { 27 DirContext ctx = new InitialDirContext(env); 28 ctx.close(); 29 System.out.println("auth ok"); 30 res = true; 31 } catch (AuthenticationException ae) { 32 //認証エラー 33 System.out.println("auth ng"); 34 } catch (Exception e) { 35 //その他のエラー 36 } 37 38 return res; 39 }

で接続できることは確認しました。

ですがSSL(LDAPS)を使用として躓いています。
・自己証明書の設定方法
・設定場所
など

教えていただけないでしょうか?

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問