كيفية إعداد جافا استخدام المستخدم محددة شهادات الكسوف ؟

StackOverflow https://stackoverflow.com/questions/663890

سؤال

لا أستطيع أن أصدق أنا الشخص الوحيد لتشغيل ضد هذه المشكلة.كنت أبحث في قوقل عن ساعات و لم يكن لها أي حظ.جافا الأمن الوثائق لا يبدو أن عنوان PKCS12 شهادات جيدا.

أنا أحاول أن الإعداد جافا المستخدم محددة PKCS12 الشهادات.من بين أمور أخرى ، سيتم استخدام هذا حتى في الكسوف لا يمكن الوصول إلى تراك ملقم مصادقة طريق الشهادات.أنا باستخدام تراك Mylyn التكامل المساعد الكسوف.

هنا هو الإعداد:

  • المستخدم الدلائل الرئيسية في /الرئيسية
  • متعددة جبل في /المركزية
  • كل مستخدم لديه شهادة شخصية على:~/المستخدم.p12
  • كلمة السر للحصول على الشهادات الشخصية هو:pass1234
  • المستخدمين كلمة المرور المخزنة في 0400 الملف في ~/password.txt
  • للقراءة فقط ثق مخزن ca في:/وسط/ca.jks
  • لا مرور truststore
  • JDK 1.6 المثبتة في /وسط/jdk_1.6.0
  • الكسوف 3.4 المثبتة في /وسط/eclipse_3.4.0
  • JAVA_HOME=/وسط/jdk_1.6.0
  • JAVA_HOME هو جدك الموقع لأن الكسوف يحتاج هذا
  • ECLIPSE_HOME=/وسط/eclipse_3.4.0
  • JRE حياة بمبلغ JAVA_HOME/jre
  • كل مستخدم لديه ~/.java.السياسة الملف
  • هناك تراك الملقم قيد التشغيل في https://trac.internal/trac
  • تراك خادم المصادقة باستخدام الشهادات

الآن, أريد أن أكون قادرا على أن يكون لكل مستخدم ببساطة تعديل بعض الملفات الخاصة (مثل ~/.java.السياسة الملف ، على سبيل المثال) ، وأن تكون قادرة على إطلاق وسط الكسوف التطبيق والوصول تراك مستودع.يبدو بسيطا بما فيه الكفاية.

الآن الطريقة الوحيدة التي يمكنني الحصول على هذا العمل هو تحرير $ECLIPSE_HOME/الكسوف.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"

حسنا, ذلك يعمل ولكن هناك مشكلتين مع ذلك:

  • كل مستخدم يجب أن يكون بهم ecipse تثبيت.(أو يمكن أن الكسوف قراءة من المستخدم الملف؟)
  • فمن الكسوف محددة, كنت في نهاية المطاف مثل هذا Java التكوين.

كما أتذكر من بعض الوقت مرة أخرى أنه يمكنك تحرير $JAVA_HOME/jre/lib/الأمن/java.الملف الأمني وإضافة

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

ولكن كسوف الشمس لا يبدو أن التقاط ما يصل.يمكن أن يكون لأن JAVA_HOME يشير إلى جدك ، ولا جدك هو متداخلة JRE?

رأيت جافا PKCS#11 المرجعية مراجع الخصائص التالية:keyStoreURL="لا شيء" keyStoreType="PKCS11" keyStorePasswordURL=some_pin_url

كان هناك إشارة أخرى رأيت أن قلت لك أن تحرير ~/.java.السياسة الملف إلى ما يلي:

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

ولكن هذا لا يحصل التقطت أيضا.ربما في الواقع لا تعمل وليس لها الحصول على قراءة لنفس السبب جافا.الأمن الملف لا يعمل أو ربما هو فقط لا تعمل على الإطلاق.

بعض خصائص النظام رأيت:

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"

حتى الآن أنا عالقة مع وجود كل مستخدم أن يكون الخاصة بهم الكسوف intall.وأنا أعلم أنه يبدو وكأنه الإعداد معقدة, ولكن هذا لا يجب أن يكون أي شيء للقيام مع الكسوف بقدر شهادة الإعداد...حقا Java الإعداد المستخدم شهادات محددة.

أي أفكار ؟

هل كانت مفيدة؟

المحلول

استخدام التكوين الخاصة بالمستخدم.

وضع خاص التكوين المنطقة الموقع

الموقع الافتراضي الخاص التكوين المنطقة:

المستخدم-الصفحة الرئيسية-dir/.الكسوف/<product-id>_<product-version>/التكوين

الرئيسية للمستخدم dir يتم تحديدها من قبل المستخدم.المنزل جافا نظام الملكية.معرف المنتج والإصدار يتم الحصول عليها من المنتج علامة الملف .eclipseproduct تحت الكسوف تثبيت.

نصائح أخرى

هل يمكن تخزين كل هذه المعلومات في ملف و قراءة و تعيين كل متغير في التعليمات البرمجية باستخدام:

System.setProperty(...);

اسمحوا لي أن أعرف عندما يحل مشكلتك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top