2012-04-20 32 views
2

GF3.1.2の設定には私の助けが必要です。以下の変更を行っています。変更があっても機能していないとして重要なものがない場合にお知らせください。 私のIDは[email protected]ですGlassfish 3.1.2設定相互認証のためのクライアント証明書

リンクがあれば、フォーラムで特定のスレッドや回答を見つけることができませんでした。このための資料がある場合は、 を送ってください。

入用

web.xmlの

<login-config> 
    <auth-method>CLIENT-CERT</auth-method> 
</login-config> 
<security-constraint> 
    <web-resource-collection> 
    <web-resource-name>Entire Application</web-resource-name> 
    <url-pattern>/faces/*</url-pattern> 
    <http-method>POST</http-method> 
    </web-resource-collection> 
    <auth-constraint> 
    <description/> 
    <role-name>authorized</role-name> 
    </auth-constraint> 
    <user-data-constraint> 
    <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 
<security-role> 
    <description/> 
    <role-name>authorized</role-name> 
</security-role> 

日-web.xmlの

<security-role-mapping> 
    <role-name>authorized</role-name> 
    <principal-name>admin</principal-name> 
    <group-name>authorized</group-name> 
</security-role-mapping> 

domain.xmlの

<security-service> 
    <auth-realm classname="com.sun.enterprise.security.auth.realm.file.FileRealm" name="admin-realm"> 
    <property name="file" value="${com.sun.aas.instanceRoot}/config/admin-keyfile"></property> 
    <property name="jaas-context" value="fileRealm"></property> 
    </auth-realm> 
    <auth-realm classname="com.sun.enterprise.security.auth.realm.file.FileRealm" name="file"> 
    <property name="file" value="${com.sun.aas.instanceRoot}/config/keyfile"></property> 
    <property name="jaas-context" value="fileRealm"></property> 
    </auth-realm> 
    <auth-realm classname="com.sun.enterprise.security.auth.realm.certificate.CertificateRealm" name="certificate"> 
    <property name="assign-groups" value="authorized"></property> 
    </auth-realm> 
+0

"動作していない"ものについて詳しく説明してください。どのようなアプリケーションを構築していますか?クライアント側が正しく動作していますか? – TPete

+0

具体的には私のborowserはクライアント証明書を要求していない、私はクライアント証明書でユーザーを認証したい、私はglassfishサーバーに特定の変更を加えた。 – user1347618

+0

私はブラウザでurlを押すとクライアント証明書を要求する必要がありますか?私は正しい。 – user1347618

答えて

1

ログイン-config設定sectioを行ってくださいnは、レルム名のコンテンツは、あなたの場合には、 "証明書"

あるdomain.xml内のauth-realm要素のname属性と一致している必要があり、あなたのweb.xmlに

<login-config> 
    <auth-method>CLIENT-CERT</auth-method> 
    <realm-name>certificate</realm-name> 
</login-config> 

不完全である[更新]

さらには、CA証明書は、サーバーのトラストストア

${com.sun.aas.instanceRoot}/config/cacerts.jks 
+0

サーバーのキーストアにはサーバー証明書が含まれており、クライアント証明書は含まれていません。 – TPete

+0

正しく、CA証明書のみをcacertsにインポートする必要があります – PA314159

+0

こんにちは、具体的には、クライアント証明書authのた​​めのdomain.xmlの変更後に私のアプリケーションはクライアント証明書を要求する必要はありませんまた、login-configにレルム名を追加しました。設定ファイルが必要な場合は、GF3.1.2経由でクライアント証明書が必要なのはどうすれば教えてくださいか教えてください。それらをあなたと共有する方法。 – user1347618

0

誰もがそれらを理解するのは時間がかかります。この最初の時間をしようとすると、withingにインポートする必要があります簡単な言葉では、クライアントとサーバーの両方の信頼ストアは、相互に証明書を信頼する必要があります。まず自己署名証明書をサーバーとクライアントに交換する証明書を使用する方が良いです。記事に従ってくださいあなたはあなたが望む独自のメソッドの証明書を使用することができます。

http://www.slideshare.net/krizsan/scdjws-5-study-notes-3085287

SCDJWS 5 か、今日 イワンA Krizsan バージョンによって オラクル認定プロフェッショナル、 のJava EE 5のWebサービス開発 研究ノート として知っている:2012年2月23日

0

実はIグラスフィッシュ3.1.2を試し、以下の条件で働いた:

1.私はsaを使用しなければならない私はキー型のトラストストアを同じ場所に置いています。他の証明書形式と話すためには、形式をjks形式に変換する必要があります。

<auth-realm classname="com.sun.enterprise.security.auth.realm.certificate.CertificateRealm" name="certificate"> 
       <property name="assign-groups" value="authorized"></property> 
      </auth-realm> 

注:

2.inあなたはこのマッピング

<security-role-mapping> 
     <role-name>manager</role-name> 
    <group-name>authorized</group-name> 
    </security-role-mapping> 

3.inのdomain.xmlファイルのように持っていなければならないのglassfish-web.xmlが、あなたは以下を持っている必要がありますにweb.xmlには、ドメインと一致するドメイン名が必要です。xmlファイル

+0

<ログイン-config>の CLIENT-CERT 証明書 の –

+0

おかげでこれに答えるために時間を割いてkhurshed。 – user1347618

0

私は同じ問題があります。

「http-listener-2」で「クライアント認証:true」を設定します。

関連する問題