Cambiar el certificado auto firmado (self signed certificate) de Alfresco

cancel
Showing results for 
Search instead for 
Did you mean: 
cristian_1000
Member II

Cambiar el certificado auto firmado (self signed certificate) de Alfresco

Se que Alfresco ya cuenta con un certificado auto firmado (self signed certificate), pero actualmente en la instalación que ya tenemos, requerimos modificarlo por un certificado que se va a comprar. He buscado en foros acerca de como cambiar el certificado de Alfresco, pero solo encuentro información del certificado auto firmado (self signed certificate). También he encontrado que se puede realizar a través de apache. Pero requiero que sea por medio de TOMCAT.


¿Alguien tendrá alguna información de como realizar esto?, espero me puedan ayudar


Muchas gracias.

Saludos
3 Replies
angelborroy
Expert

Re: Cambiar el certificado auto firmado (self signed certificate) de Alfresco

Entiendo que lo que quieres es configurar el certificado para que sea el que identifique las peticiones HTTPS. ¿Has configurado Alfresco para que sirva las peticiones por el puerto 443 o 8443?

En ese caso tendrás en el fichero tomcat/conf/server.xml una línea similar a la siguiente:

<Connector port="8443" URIEncoding="UTF-8" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" maxThreads="150" scheme="https"
           keystoreFile="/opt/alfresco-5.0.a/alf_data/keystore/ssl.keystore" keystorePass="kT9X6oe68t" keystoreType="JCEKS"
           secure="true" connectionTimeout="240000"
           truststoreFile="/opt/alfresco-5.0.a/alf_data/keystore/ssl.truststore" truststorePass="kT9X6oe68t" truststoreType="JCEKS"
           clientAuth="want" sslProtocol="TLS" allowUnsafeLegacyRenegotiation="true" maxHttpHeaderSize="32768" /> 

Ahí tienes el KeyStore que utiliza Alfresco por defecto. Puedes generar un nuevo KeyStore o añadir tu certificado a éste.
Software Engineer in Alfresco Search Team.
cristian_1000
Member II

Re: Cambiar el certificado auto firmado (self signed certificate) de Alfresco

Hola Angel,

gracias por tu respuesta. Agregue el certificado comprado a el keystore de alfresco que se indica en el archivo  tomcat/conf/server.xml como tu lo mencionas. Prové conectarme desde el navegador pero la información del certificado que se utiliza sigue siendo el del alfresco (self signed). Buscando un poco encontré que se debe indicar el alias en el archivo tomcat/conf/server.xml   (<strong>keyAlias="alias_certificado" </strong>), el archivo quedo de la siguiente forma:


<Connector port="8443" URIEncoding="UTF-8" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
               maxThreads="150" scheme="https" keystoreFile="/opt/alfresco-5.0.a/alf_data/keystore/ssl.keystore" keystorePass="kT9X6oe68t"  keyAlias="alfresco"   keystoreType="JCEKS"
secure="true" connectionTimeout="240000" truststoreFile="/opt/alfresco-5.0.a/alf_data/keystore/ssl.truststore" truststorePass="kT9X6oe68t" truststoreType="JCEKS"
               clientAuth="want" sslProtocol="TLS" allowUnsafeLegacyRenegotiation="true" maxHttpHeaderSize="32768" />


Al realizar esto y reiniciar alfresco, dejo de funcionar y me marca el siguiente error:

2014-10-26 18:55:00,072  ERROR [solr.tracker.CoreTracker] [SolrTrackerScheduler_Worker-3] Tracking failed
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:451)
at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:140)
at org.alfresco.encryption.ssl.AuthSSLProtocolSocketFactory.createSocket(AuthSSLProtocolSocketFactory.java:168)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at org.alfresco.httpclient.AbstractHttpClient.executeMethod(AbstractHttpClient.java:135)
at org.alfresco.httpclient.AbstractHttpClient.sendRemoteRequest(AbstractHttpClient.java:111)
at org.alfresco.httpclient.HttpClientFactory$HttpsClient.sendRequest(HttpClientFactory.java:371)
at org.alfresco.solr.client.SOLRAPIClient.getModelsDiff(SOLRAPIClient.java:1056)
at org.alfresco.solr.tracker.CoreTracker.trackModelsImpl(CoreTracker.java:1950)
at org.alfresco.solr.tracker.CoreTracker.trackModels(CoreTracker.java:4745)
at org.alfresco.solr.tracker.CoreTracker.trackRepository(CoreTracker.java:1275)
at org.alfresco.solr.tracker.CoreTracker.updateIndex(CoreTracker.java:561)
at org.alfresco.solr.tracker.CoreTrackerJob.execute(CoreTrackerJob.java:45)
at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:563)



Espero me puedas ayudar, de antemano muchas gracias.
angelborroy
Expert

Re: Cambiar el certificado auto firmado (self signed certificate) de Alfresco

Busca el archivo HowToSetUpSolr.txt en el directorio de la instalación <CODE>alf_data/solr</CODE>. En él se explica cómo configurar SOLR para SSL. El problema es que has cambiado el certificado y SOLR no encuentra la autenticación SSL, ya que tiene configurado otro cliente en el <CODE>server.xml<CODE>


<user username="CN=Alfresco Repository, OU=Unknown, O=Alfresco Software Ltd., L=Maidenhead, ST=UK, C=GB" roles="repository" password="null"/>
Software Engineer in Alfresco Search Team.