Como configurar o Java para usar certificados específicos do usuário para o Eclips

Não acredito que sou a única pessoa a enfrentar esse problema. Estou pesquisando há horas e não tive sorte. A documentação de segurança Java não parece endereçar completamente os certificados PKCS12.

Estou tentando configurar o Java para certificados PKCS12 específicos do usuário. Entre outras coisas, isso será usado para que, no Eclipse, eu possa acessar um servidor Trac que seja autenticado por certificados. Estou usando o plug-in de integração Trac Mylyn para eclipse.

Aqui está a configuração:

s diretórios pessoais do @user estão em / home montagem multiusuário em / centralcada usuário possui um certificado pessoal em: ~ / user.p12password para certificados pessoais é: pass1234a senha do usuário é armazenada em um arquivo 0400 em ~ / password.txt um armazenamento confiável somente leitura para o ca está em: /central/ca.jksem senha para o armazenamento confiávelJDK 1.6 instalado em /central/jdk_1.6.Eclipse 3.4 instalado em /central/eclipse_3.4. JAVA_HOME = / central / jdk_1.6.0JAVA_HOME está definido como o local do JDK porque o Eclipse precisa disso ECLIPSE_HOME = / central / eclipse_3.4.0JRE mora em $ JAVA_HOME / jrecada usuário possui um arquivo ~ / .java.policy existe um servidor trac rodando emhttps: //trac.internal/trao servidor trac autentica usando certificados

gora, quero que cada usuário modifique algum arquivo que possui (como o arquivo ~ / .java.policy, por exemplo) e seja capaz de iniciar o aplicativo Eclipse central e acessar o repositório Trac. Parece bastante simple

Agora, a única maneira de fazer isso funcionar é editar o arquivo $ ECLIPSE_HOME / eclipse.ini e adicionar

-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, isso funciona, mas existem dois problemas com isso:

ada usuário deve ter sua própria instalação do ecipse. (ou o eclipse pode ler isso de um arquivo de usuário?) É específico do Eclipse, eu gostaria de ter isso como uma configuração Jav

Também lembro de algum tempo atrás que você pode editar o arquivo $ JAVA_HOME / jre / lib / security / java.security e adicionar

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

Mas o Eclipse parece não entender isso. Poderia ser porque meu JAVA_HOME aponta para um JDK, e não o JRE aninhado do JDK?

Eu vi oJava PKCS # 11 Referência que referencia as seguintes propriedades: keyStoreURL = "NONE" keyStoreType = "PKCS11" keyStorePasswordURL = some_pin_url

Havia outra referência que vi que dizia que você poderia editar o arquivo ~ / .java.policy para incluir:

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

Mas isso também não é atendido. Talvez ele realmente funcione e não seja lido pelo mesmo motivo que o arquivo java.security não funciona, ou talvez não funcion

Algumas propriedades do sistema que eu já vi:

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"

Então, agora, acho que estou preso em ter cada usuário para ter seu próprio Eclipse intall. Sei que parece uma configuração complicada, mas isso realmente não deve ter nada a ver com o Eclipse no que diz respeito à configuração do certificado ... é realmente uma configuração Java para certificados específicos do usuári

Alguma ideia

questionAnswers(2)

yourAnswerToTheQuestion