jrun ssl peer não autenticado

1

Antes de começar, devo dizer que já publiquei esta questão em Código Ranch , e ainda não obtivemos uma resposta. Vou me certificar de que tanto este site quanto o Code Ranch recebam a resposta, caso eu encontre um ...

Eu herdei um aplicativo antigo escrito em EJB que está sendo executado no JRun4. JRun4 serve o conteúdo - o que significa dizer que não temos Apache, IIS ou similar na frente dele. O aplicativo é usado apenas internamente e não é visível de fora do firewall. O conteúdo da web contém informações identificáveis e, portanto, estamos tentando fazer com que o aplicativo use SSL.

Interno para minha organização, usamos os Serviços de Certificados do Active Directory somente para aplicativos internos e temos um certificado interno de assinatura distribuído para todas as estações de trabalho que também são usadas para assinar todas as solicitações internas de assinatura. Obviamente, este certificado de assinatura não faz parte da cadeia de confiança do Java. Eu não tenho acesso à chave de assinatura, então estou emulando o melhor que posso usando o OpenSSL. A ideia é criar uma autoridade de assinatura e fazer com que funcione com o JRun4. Como tenho controle total da cadeia, posso experimentar rapidamente para ver o que funciona.

Não consegui passar "Par não autenticado". Meu entendimento é que a mensagem de erro é causada quando o Java não consegue encontrar a chave pública da CA. No entanto, eu adicionei em todos os lugares que posso pensar, e ainda recebo o erro.

Aqui estão meus passos, tendo em mente que estou apenas tentando entender como fazer isso funcionar, para saber o que fazer no servidor de produção:

1) Eu compilei o OpenSSL 1.0.1j a partir do código-fonte usando MinGW.

2) Usei a configuração e as etapas de ssl - link para criar uma CA.

3) A CA está em um dispositivo separado de onde eu estou executando o JRun.

4) Eu tenho o JRun copiado - mas não instalado - em uma estação de trabalho em C: \ JRun4.

5) O Java 6 é instalado em C: \ Programs \ jdk1.6.0 na minha estação de trabalho. (Nota: não consigo que o JRun funcione com novas versões do Java, ele reclama do jvm.dll)

6) Gerei um novo keystore em C: \ JRun4 \ lib com a senha "changeit".

7) Gerei um pedido de assinatura desse keystore.

8) Eu copiei o .csr para a outra estação de trabalho e assinei.

9) Eu copiei a chave assinada e a chave da CA da outra estação de trabalho de volta para a estação de trabalho JRun.

10) Primeiro importei a chave da CA em quatro locais - C: \ Programas \ jdk1.6.0 \ lib \ security \ cacerts, C: \ Programas \ jdk1.6.0 \ jre \ lib \ security \ cacerts, C: \ JRun4 \ lib \ keystore e C: \ JRun4 \ lib \ trustStore.

11) Eu importei a chave assinada em C: \ JRun4 \ lib \ keystore, após o qual o SSL seria iniciado sem erro, mas recebi o erro "Peer not authenticated".

12) Em desespero, eu copiei a chave assinada para os outros três locais, mesmo sabendo que isso não ajudaria.

O que estou perdendo?

Por favor, sinta-se à vontade para pedir mais detalhes. Eu não queria atrapalhar um longo post com muitos dados irrelevantes.

    
por Chris Parker 26.01.2015 / 17:01

0 respostas

Tags