Spanish Certificados SSL B4J

francisco duran

Member
Licensed User
Longtime User
Hola amigos, necesito su ayuda, estoy tratando de configurar el certificado SSL para una aplicacion de B4J server. Me funciona muy bien en http:// pero si la configuro para https:// siempre me sale el error He intentado de varias formas configurar los certificados y no he podido.
Estoy usando un servidor VPS de bluehost.
Compre un certificado en ssl.com y me funciona en la pagina raiz, pero cuando trato de accerde a la mia con numero de puerto no trabaja el certificado.

He revisado varios tutoriales y formas de hacerlo que hay en B4X.com y nada.

Alguien sabe como quitar el error antes mensionado?

Muchas gracias
 

TILogistic

Expert
Licensed User
Longtime User
Estimado,

Usted tiene instalado su certificado en https://lev.jsb.mybluehost.me/ (ip 162.214.168.182).

y desea que los puertos 10001 o 10004 tengan este certificado.

Debe indicar que esta haciendo en lo posible publicar parte del código.

Se le recomendó este link:

Saludos.
 

francisco duran

Member
Licensed User
Longtime User
Hola, estoy usando este codigo:
Main:
Sub AppStart (Args() As String)
    srvr.Initialize("srvr")
    srvr.AddWebSocket("/ws", "leaflet")
    srvr.AddHandler("/tableHelper", "TableHelper", False)
    
    srvr.Port = 10001
    ConfigureSSL(10004)
    srvr.Start
    StartMessageLoop
End Sub
Public Sub Filter(req As ServletRequest, resp As ServletResponse) As Boolean
    If req.Secure Then
        Return True
    Else
        resp.SendRedirect(req.FullRequestURI.Replace("http:", "https:") _
       .Replace(srvr.Port, srvr.SslPort))
        Return False
    End If
End Sub

Private Sub ConfigureSSL (SslPort As Int)
    'example of SSL connector configuration
    Dim ssl As SslConfiguration

    ssl.Initialize
    Log (File.DirApp)
    
    ssl.SetKeyStorePath(File.DirApp, "/www/certs/jetty.keystore") 'path to keystore file
    
    ssl.KeyStorePassword = "123456"
    ssl.KeyManagerPassword = "123456"
    
    srvr.SetSslConfiguration(ssl, SslPort)
    
    
    'add filter to redirect all traffic from http to https (optional)
    'srvr.AddFilter("/*", "HttpsFilter", False)
End Sub


El certificado lo compre en SSL.com y lo instale en mi servidor y en el raiz funciona perfecto, el tema es cuando lo quiero hacer trabajar en el puerto 10004
Sin título.png


Pero al correr el el puerto 10004 me sale el error ERR_SSL_PROTOCOL_ERROR

Para crear el certificado hago este paso a paso:


keytool -keysize 2048 -genkey -alias jetty -keyalg RSA -keystore jetty.keystore

keytool -certreq -keyalg RSA -alias jetty -file lev.jsb.mybluehost.me.csr -keystore jetty.keystore

keytool -import -trustcacerts -alias AddTrustExternalCARoot -file addtrustexternalcaroot.crt -keystore jetty.keystore

keytool -import -trustcacerts -alias COMODORSAAddTrustCA -file comodorsaaddtrustca.crt -keystore jetty.keystore

keytool -import -trustcacerts -alias COMODORSADomainValidationSecureServerCA -file COMODORSADomainValidationSecureServerCA.crt -keystore jetty.keystore

keytool -import -trustcacerts -alias Recosfa -file lev.jsb.mybluehost.me.crt -keystore jetty.keystore


Muchas gracias por su ayuda, no tengo idea sobre que esta pasando.
 

TILogistic

Expert
Licensed User
Longtime User
Hola, estoy usando este codigo:
Main:
Sub AppStart (Args() As String)
    srvr.Initialize("srvr")
    srvr.AddWebSocket("/ws", "leaflet")
    srvr.AddHandler("/tableHelper", "TableHelper", False)
  
    srvr.Port = 10001
    ConfigureSSL(10004)
    srvr.Start
    StartMessageLoop
End Sub
Public Sub Filter(req As ServletRequest, resp As ServletResponse) As Boolean
    If req.Secure Then
        Return True
    Else
        resp.SendRedirect(req.FullRequestURI.Replace("http:", "https:") _
       .Replace(srvr.Port, srvr.SslPort))
        Return False
    End If
End Sub

Private Sub ConfigureSSL (SslPort As Int)
    'example of SSL connector configuration
    Dim ssl As SslConfiguration

    ssl.Initialize
    Log (File.DirApp)
  
    ssl.SetKeyStorePath(File.DirApp, "/www/certs/jetty.keystore") 'path to keystore file
  
    ssl.KeyStorePassword = "123456"
    ssl.KeyManagerPassword = "123456"
  
    srvr.SetSslConfiguration(ssl, SslPort)
  
  
    'add filter to redirect all traffic from http to https (optional)
    'srvr.AddFilter("/*", "HttpsFilter", False)
End Sub


El certificado lo compre en SSL.com y lo instale en mi servidor y en el raiz funciona perfecto, el tema es cuando lo quiero hacer trabajar en el puerto 10004
View attachment 139812

Pero al correr el el puerto 10004 me sale el error ERR_SSL_PROTOCOL_ERROR

Para crear el certificado hago este paso a paso:


keytool -keysize 2048 -genkey -alias jetty -keyalg RSA -keystore jetty.keystore

keytool -certreq -keyalg RSA -alias jetty -file lev.jsb.mybluehost.me.csr -keystore jetty.keystore

keytool -import -trustcacerts -alias AddTrustExternalCARoot -file addtrustexternalcaroot.crt -keystore jetty.keystore

keytool -import -trustcacerts -alias COMODORSAAddTrustCA -file comodorsaaddtrustca.crt -keystore jetty.keystore

keytool -import -trustcacerts -alias COMODORSADomainValidationSecureServerCA -file COMODORSADomainValidationSecureServerCA.crt -keystore jetty.keystore

keytool -import -trustcacerts -alias Recosfa -file lev.jsb.mybluehost.me.crt -keystore jetty.keystore


Muchas gracias por su ayuda, no tengo idea sobre que esta pasando.
Verifique los puertos 10001 o 10004 en firewall si están aceptando Https
 

francisco duran

Member
Licensed User
Longtime User
Hola, me sale "FirewallD is not running" al tratar de revisar el firewall, estoy trabajando sobre un VPS de bluehost y es posible que este apagado el firewall
 

TILogistic

Expert
Licensed User
Longtime User
Hola, me sale "FirewallD is not running" al tratar de revisar el firewall, estoy trabajando sobre un VPS de bluehost y es posible que este apagado el firewall
Linux??
También puede hacerlo vía shell en

/etc/csf/csf.conf

Luego de editarlo debe reiniciarlo con csf -r
 
Top