2009-03-19 18 views
9

私はこの問題を克服する唯一の人だとは思わない。私は何時間もグーグルで遊んでいて、運がなかった。 Javaセキュリティー・ドキュメントは、PKCS12証明書を完全に扱っているようではありません。Eclipseでユーザー固有の証明書を使用するようにJavaを設定する方法はありますか。

ユーザー固有のPKCS12証明書用にJavaをセットアップしようとしています。とりわけ、これはEclipseで証明書で認証されたTracサーバにアクセスできるようにするために使用されます。 Trac Mylyn統合プラグインをEclipse用に使用しています。 〜/ user.p12

  • パスワード:

    • ユーザのホームディレクトリ/自宅で
    • マルチユーザが
    • /中央で各ユーザーにマウントされている時に個人証明書を持っています。ここ

      はセットアップがありますpass1234

    • ユーザーパスワードは〜/ password.txtの0400ファイルに格納されます
    • 読み取り専用のトラストストア= /central/ca.jks
    • /central/eclipse_3.4.0
    • JAVA_HOMEに設置/central/jdk_1.6.0
    • のEclipse 3.4にインストールトラスト
    • JDK 1.6用パスワード:CAはではありませんEclipseは
    • JREは、$ JAVA_HOME/JRE
    • 各ユーザーに住んで、この
    • ECLIPSE_HOME = /中央/ eclipse_3.4.0を必要とするため/central/jdk_1.6.0
    • JAVA_HOMEは、JDKの場所に設定されている〜/ .ja va.policyファイル
    • https://trac.internal/trac
    • で実行しているTracのサーバーがあり
    • Tracのサーバーのような証明書

    は今、私は単に、彼らが所有するいくつかのファイルを変更し、各ユーザーを持つことができるようにしたい

  • を(使用して認証〜/ .java.policyファイルなど)、Eclipseの中央アプリケーションを起動してTracリポジトリにアクセスできるようにします。シンプルだと思われる。

    今、私は仕事にこれを取得することができる唯一の方法は、それが動作しますが、$ ECLIPSE_HOME /たeclipse.iniファイルを編集し、

    -Djavax.net.ssl.keyStore="/home/user/user.p12" 
    -Djavax.net.ssl.keyStoreType="PKCS12" 
    -Djavax.net.ssl.keyStorePassword="pass1234" 
    -Djavax.net.ssl.trustStore="/central/ca.jks" 
    

    [OK]を追加することですが、それには二つの問題があります。

    は、
    • 各ユーザーに独自のecipseインストールが必要です。 (またはユーザーのファイルから読み取ることができますか?)
    • これはEclipse固有のものですが、私は最終的にこれをJavaの構成として使用したいと思います。

    また、私はあなたが$ JAVA_HOME/JRE/lib/security/java.securityファイルを編集し、

    keystore=/home/user/user.p12 
    keystore.type=PKCS12 
    keystore.password=pass1234 
    truststore=/central/ca.jks 
    

    を追加することができますバックいくつかの時間から覚えしかし、Eclipseはそれを選択していないようですアップ。私のJAVA_HOMEがJDKのネストされたJREではなく、JDKを指しているからでしょうか?私は次のプロパティを参照するJava PKCS#11 Referenceを見てきました

    : keyStoreURL = "NONE" keystoreTypeキー= "PKCS11" keyStorePasswordURL = some_pin_url私が見た別の参照がありました

    それを編集することができると言いました〜/ .java.policyファイルには、次のものを含めます。

    keyStore "file:///home/user/user.p12", "PKCS12", "SunJSSE"; 
    keyStorePasswordUrl "file:///home/user/password.txt"; 
    

    しかし、それでも問題はありません。たぶんそれは実際に動作し、java.securityファイルが動作しないのと同じ理由で読み込まれないか、まったく動作しないかもしれません。

    私が見てきたいくつかのシステムプロパティ:だから

    javax.net.ssl.keyStore="/home/user/user.p12" 
    javax.net.ssl.keyStoreType="PKCS12" 
    javax.net.ssl.keyStorePassword="password" 
    javax.net.ssl.keyStoreProvider="SunJSSE" 
    javax.net.ssl.trustStore="/home/user/ca.jks" 
    javax.net.ssl.trustStoreType="JKS" 
    javax.net.ssl.trustStorePassword="" 
    javax.net.ssl.trustStoreProvider="Sun" 
    

    は、今、私は自分のEclipseのintallを持つように、各ユーザを有するこだわっていると思います。私はそれが複雑なセットアップのように聞こえることは分かっていますが、これは実際にはEclipseとは何の関係もないはずです。証明書のセットアップ...本当にユーザー固有の証明書のJavaセットアップです。

    アイデア?

    答えて

    5

    user-specific configurationを使用してください。プライベートコンフィギュレーション領域の位置を設定する

    プライベートコンフィギュレーション領域のデフォルトの場所は次のとおりです。

    ユーザーのホームディレクトリ/ .eclipse/<製品-ID > _ <製品バージョン>/configuration

    ユーザーホームディレクトリは、user.home Javaシステムプロパティによって決まります。製品IDとバージョンは、Eclipseインストールの製品マーカーファイル.eclipseproductから取得されます。

    0

    あなたはファイルにすべてのそれらの情報を保存し、それから読んで使用して、コード内の各変数を設定できます

    System.setProperty(...); 
    

    は、それはあなたの問題を解決したときに私を知ってみましょう。

    +0

    私は日食を通してtracにアクセスできるので、コードはありません。 –

    関連する問題