Extraindo a chave privada

Galera,

Criei uma applet e a assinei com um certificado “meuCertificado.crt”. Agora estou precisando exportar minha chave privada para colocar no Apache para este o reconhecer.

Alguém saberia alguma ferramenta ou algum comando (openssl ou mesmo keytool) que possa extrair a chave privada? (“meuCertificado.crt” >> “minhaChavePrivada.key”)

Obrigado

Um certificado cujo objetivo é o de assinar applets não pode ser usado (a menos que tenha esse propósito também) para proteger sites Web via https (SSL). Você, ao comprar um certificado, tem de comprar o tipo correto de certificado.

De qualquer forma, suponha que o certificado tivesse sido criado com propósito duplo - assinar applets e proteger sites Web. Nesse caso, o campo CN (Common Name) teria de ter o nome do site (por exemplo, digamos que você queira proteger o site https://seguro.exemplo.com.br - o campo CN tem de ter o valor “CN=seguro.exemplo.com.br” por definição. Você não pode simplesmente pegar um certificado qualquer e ir inserindo em um site Web assim sem mais nem menos.

entanglement,

Primeiramente, obrigado pela resposta!!

Você está correto em suas afirmações. Porém o que estou tentando fazer é simular um https com o Apache para realizar experimentos com minhas applets assinadas.

O que ocorre é que quando assino um applet com um certificado ele só é visualizado em HTTP. Quando tento abrir o mesmo em HTTPS não aparece nada.
Desta forma inseri um certificado em meu sistema e tenho que passar o Server Private Key ao Apache (estou emulando no localhost) e posteriormente assinar este applet com meu este certificado.
Pelo que entendi ele irá procurar por uma AC, mas como inseri o certificado no meu sistema dizendo que ele é válido, a visualização deste applet, teoricamente, será validada.

Bom, é isso. Por enquanto estou no ambiente de desenvolvimento, por isso estou utilizando um certificado que eu mesmo criei. Assim que passá-lo para o ambiente de produção irei comprar um certificado de uma AC.

Caso tenha qualquer ideia de como posso resolver isso será bem válida!!

Obrigado.

Vou explicar o que ocorre.

A JVM é que se encarrega de baixar as applets, não o browser.
Dessa forma, ela usa algumas regras que são um pouco diferentes do browser. Um exemplo delas: a JVM só consegue fechar uma conexão SSL com sites cujo certificado tenha sido emitido por uma autoridade certificadora que esteja cadastrada no arquivo cacerts da JRE que está sendo usada no plugin Java carregado no browser (por exemplo, pode ser o arquivo c:\program files\java\jre6\lib\security\cacerts ).
Uma forma de ajudar a JVM a fechar uma conexão SSL (HTTPS) com o seu site de teste que está rodando no Apache é instalar o certificado (parte pública) da autoridade certificadora que emitiu o certificado de teste nesse arquivo cacerts.
Como é que se faz isso é questão de procurar na Internet, já que os passos são um bocadinho complicados para eu mostrá-los todos aqui (tradução: não lembro mais o que tem de ser feito). Se não me engano, envolve usar o keytool, importar o tal certificado, e lembrar que a chave padrão do cacerts, se não me engano, é “changeme” ou branco.

[b]Os passos para inclusão do certificado em cacerts podem ser seguidos a partir deste link: http://intoweb.blogspot.com.br/2008/09/importando-certificados-ssl-para-jvm.html

Bom, eu os fiz mas ainda assim não consegui acessar minha applet através do https em localhost.

Segue abaixo o stack trace capturado do browser:[/b]

[i]Plug-in Java 10.5.1.255
Usando versão JRE 1.7.0_05-b05 Java HotSpot™ Client VM
Diretório home do usuário = C:\Documents and Settings\leonardo.RECIVIL

c: limpar janela da console
f: concluir objetos da fila de finalização
g: coleta de lixo
h: exibir esta mensagem de ajuda
l: descartar lista de carregadores de classes
m: imprimir uso de memória
o: log do trigger
q: ocultar console
r: recarregar configuração da política
s: descartar propriedades do sistema e de implantação
t: descartar lista de threads
v: descartar pilha de threads
x: limpar cache do carregador de classes
0-5: definir nível de rastreamento como

security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.
security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws
security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws
security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy
security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy
security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
security: property package.definition value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.
security: property package.definition new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws
security: property package.definition value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws
security: property package.definition new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy
security: property package.definition value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy
security: property package.definition new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
security: property package.definition value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
security: property package.definition new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
basic: Listener de progresso adicionado: sun.plugin.util.ProgressMonitorAdapter@fd0e71
basic: Plugin2ClassLoader.addURL parent called for https://localhost/workspace/assinador1506/assinadorsigned.jar
security: Acessando chaves e certificado no perfil de usuário do Mozilla: null
security: O JSS não está configurado
network: Entrada de cache não encontrada [url: https://localhost/workspace/assinador1506/assinadorsigned.jar, versão: null]
network: Conectando https://localhost/workspace/assinador1506/assinadorsigned.jar ao proxy=DIRECT
network: Conectando http://localhost:443/ ao proxy=DIRECT
security: Carregando certificados da CA Raiz de C:\Arquivos de programas\Java\jre7\lib\security\cacerts
security: Certificados da CA Raiz carregados de C:\Arquivos de programas\Java\jre7\lib\security\cacerts
security: Carregando certificados SSL da CA Raiz de C:\Arquivos de programas\Java\jre7\lib\security\cacerts
security: Certificados SSL da CA Raiz carregados de C:\Arquivos de programas\Java\jre7\lib\security\cacerts
security: Carregando certificados SSL de Implantação de C:\Documents and Settings\leonardo.RECIVIL\Dados de aplicativos\Sun\Java\Deployment\security\trusted.jssecerts
security: Certificados SSL de Implantação carregados de C:\Documents and Settings\leonardo.RECIVIL\Dados de aplicativos\Sun\Java\Deployment\security\trusted.jssecerts
security: Carregando certificados do armazenamento de certificados da sessão de Implantação
security: Certificados carregados do armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado está no armazenamento de certificados negados de Implantação
security: Verificando se o certificado está no armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado SSL está no armazenamento de certificados permanentes de Implantação
network: Entrada de cache não encontrada [url: https://localhost/workspace/assinador1506/assinadorsigned.jar, versão: null]
network: Entrada de cache não encontrada [url: https://localhost/workspace/assinador1506/assinadorsigned.jar, versão: null]
network: Conectando https://localhost/workspace/assinador1506/assinadorsigned.jar ao proxy=DIRECT
network: Conectando http://localhost:443/ ao proxy=DIRECT
security: Carregando certificados do armazenamento de certificados da sessão de Implantação
security: Certificados carregados do armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado está no armazenamento de certificados negados de Implantação
security: Verificando se o certificado está no armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado SSL está no armazenamento de certificados permanentes de Implantação
network: Conectando https://localhost/workspace/assinador1506/assinadorsigned.jar ao proxy=DIRECT
network: Conectando http://localhost:443/ ao proxy=DIRECT
security: Carregando certificados do armazenamento de certificados da sessão de Implantação
security: Certificados carregados do armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado está no armazenamento de certificados negados de Implantação
security: Verificando se o certificado está no armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado SSL está no armazenamento de certificados permanentes de Implantação
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getJarFileWithoutCache(Unknown Source)
at com.sun.deploy.net.DownloadEngine.downloadJarFileWithoutCache(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$1000(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
network: Entrada de cache não encontrada [url: https://localhost/workspace/assinador1506/assinadorsigned.jar, versão: null]
network: Conectando https://localhost/workspace/assinador1506/assinadorsigned.jar ao proxy=DIRECT
network: Conectando http://localhost:443/ ao proxy=DIRECT
security: Carregando certificados do armazenamento de certificados da sessão de Implantação
security: Certificados carregados do armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado está no armazenamento de certificados negados de Implantação
security: Verificando se o certificado está no armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado SSL está no armazenamento de certificados permanentes de Implantação
network: Entrada de cache não encontrada [url: https://localhost/workspace/assinador1506/assinadorsigned.jar, versão: null]
network: Entrada de cache não encontrada [url: https://localhost/workspace/assinador1506/assinadorsigned.jar, versão: null]
network: Conectando https://localhost/workspace/assinador1506/assinadorsigned.jar ao proxy=DIRECT
network: Conectando http://localhost:443/ ao proxy=DIRECT
security: Carregando certificados do armazenamento de certificados da sessão de Implantação
security: Certificados carregados do armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado está no armazenamento de certificados negados de Implantação
security: Verificando se o certificado está no armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado SSL está no armazenamento de certificados permanentes de Implantação
network: Conectando https://localhost/workspace/assinador1506/assinadorsigned.jar ao proxy=DIRECT
network: Conectando http://localhost:443/ ao proxy=DIRECT
security: Carregando certificados do armazenamento de certificados da sessão de Implantação
security: Certificados carregados do armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado está no armazenamento de certificados negados de Implantação
security: Verificando se o certificado está no armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado SSL está no armazenamento de certificados permanentes de Implantação
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getJarFileWithoutCache(Unknown Source)
at com.sun.deploy.net.DownloadEngine.downloadJarFileWithoutCache(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$1000(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
network: Entrada de cache não encontrada [url: https://localhost/workspace/assinador1506/, versão: null]
network: Entrada de cache não encontrada [url: https://localhost/workspace/assinador1506/quali/nfe/Assinador.class, versão: null]
network: Conectando https://localhost/workspace/assinador1506/quali/nfe/Assinador.class ao proxy=DIRECT
network: Conectando http://localhost:443/ ao proxy=DIRECT
Dumping class loader cache…
Live entry: key=https://localhost/workspace/assinador1506/,assinadorsigned.jar, refCount=1, threadGroup=sun.plugin2.applet.Applet2ThreadGroup[name=https://localhost/workspace/assinador1506/-threadGroup,maxpri=4]
Done.

security: Carregando certificados do armazenamento de certificados da sessão de Implantação
security: Certificados carregados do armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado está no armazenamento de certificados negados de Implantação
security: Verificando se o certificado está no armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado SSL está no armazenamento de certificados permanentes de Implantação
network: Entrada de cache não encontrada [url: https://localhost/workspace/assinador1506/quali/nfe/Assinador.class, versão: null]
network: Conectando https://localhost/workspace/assinador1506/quali/nfe/Assinador.class ao proxy=DIRECT
network: Conectando http://localhost:443/ ao proxy=DIRECT
security: Carregando certificados do armazenamento de certificados da sessão de Implantação
security: Certificados carregados do armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado está no armazenamento de certificados negados de Implantação
security: Verificando se o certificado está no armazenamento de certificados da sessão de Implantação
security: Verificando se o certificado SSL está no armazenamento de certificados permanentes de Implantação
java.lang.ClassNotFoundException: quali.nfe.Assinador
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
basic: carga: classe quali.nfe.Assinador não encontrada.
java.lang.ClassNotFoundException: quali.nfe.Assinador
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
basic: Listener de progresso removido: sun.plugin.util.ProgressMonitorAdapter@fd0e71
security: Redefinir armazenamento de certificados da sessão negada
Dumping class loader cache…
Done.[/i]

[b]Caso alguém tenha alguma ideia do que está acontecendo, agradeceria muito se a compartilhasse.

ps.: entanglement, obrigado pelas dicas até então!![/b]

Só lembrando que, a menos que CN=localhost no seu certificado, ele não vai fechar uma conexão SSL.

Você pode mexer com /etc/hosts ou \windows\system32\drivers\etc\hosts , para forçar que o localhost tenha um sinônimo que é igual ao nome de máquina que está escrito no campo CN. Digamos que o certificado tenha sido emitido para www.exemplo.com.br. Então você precisa acrescentar uma entrada no seu etc/hosts para que www.exemplo.com.br seja um sinônimo para o endereço onde o seu Tomcat ou Apache está atendendo.

entanglement,

Estou utilizando o cn como localhost. Veja aí como fiz o certificado para testes:

keytool -genkey -dname “cn=localhost, ou=Desenvolvimento, o=Recivil, l=Belo Horizonte, st=MG, c=BR” -alias Recivil -keystore Recivil_store -storepass 123456 -validity 180 -keyalg RSA -keysize 1024 -sigalg SHA1withRSA -keypass 123456

Ainda estou com o mesmo problema… :frowning:

Tive a seguinte ideia: exportar minha chave privada e utilizar o apache com meu “.crt” e meu “.key”. Mas daí surgiu outro problema que ainda não consegui encontrar na web como importar minha chave privada utilizando o keystool.
Preciso exportar para colocar em “SSLCertificateKeyFile”

Alguma ideia?