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 certificadosgora, 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 JavTambé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