B4J Question Error SSH with OKHttpUtils2

Pesciolina

Active Member
Licensed User
Longtime User
Good evening, I have my own sftp project that after including the OKHttpUtils2 library the SSH connection no longer works
It works in development mode, but not in release mode.
B4X:
#Region ADDITIONAL JARS

'Librerie DB
    #AdditionalJar: ucanaccess-5.0.0
    #AdditionalJar: hsqldb-2.6.1
    #AdditionalJar: jackcess-3.0.1-B4J
    #AdditionalJar: jackcess-encrypt-3.0.0
    #AdditionalJar: commons-logging-1.2
    #AdditionalJar: commons-lang3-3.8.1
  
    ' Librerie per SSH   
    #AdditionalJar: slf4j-api-1.7.36
    #AdditionalJar: slf4j-simple-1.7.36
    #AdditionalJar: eddsa-0.3.0
    #AdditionalJar: sshj-0.38.0
    #AdditionalJar: bcprov-jdk18on-1.84
   
    '------- Fine SSH   
    ' Per JSql
    #AdditionalJar: sqlite-jdbc-3.7.2  

     #IgnoreWarnings: 15

#End Region
#PackagerProperty: IncludedModules = javafx.web

#PackagerProperty: VMArgs = --add-opens=b4j/org.bouncycastle.jcajce.provider.digest=java.base
#PackagerProperty: VMArgs = --add-opens=b4j/org.bouncycastle.jcajce.provider.asymmetric.edec=java.base
#PackagerProperty: VMArgs = --add-opens=b4j/org.bouncycastle.jcajce.provider.asymmetric.ec=java.base
#PackagerProperty: VMArgs = --add-opens=b4j/org.bouncycastle.jcajce.provider.asymmetric.dh=java.base

#PackagerProperty: VMArgs = --add-opens=b4j/org.bouncycastle.crypto=java.base
#PackagerProperty: VMArgs = --add-opens=b4j/org.bouncycastle.math.ec=java.base
#PackagerProperty: VMArgs = --add-opens=b4j/org.bouncycastle.util=java.base

B4X:
Sub SFTP_Connect_SSHJ(Host As String, User As String, Password As String) As Boolean
    Try
        ' ✅ forza il setup completo di SecurityUtils
        Dim secUtils As JavaObject
        secUtils.InitializeStatic("net.schmizz.sshj.common.SecurityUtils")
        secUtils.RunMethod("getSecurityProvider", Null)

        Dim ssh As JavaObject
        ssh.InitializeNewInstance("net.schmizz.sshj.SSHClient", Null)

        ' ✅ accetta host key
        Dim verifier As JavaObject
        verifier.InitializeNewInstance("net.schmizz.sshj.transport.verification.PromiscuousVerifier", Null)
        ssh.RunMethod("addHostKeyVerifier", Array(verifier))

        ' ✅ specifica la porta (importante nel runtime custom)
        ssh.RunMethod("connect", Array(Host, 22))

        ssh.RunMethod("authPassword", Array(User, Password))

        Dim sftpClient As JavaObject = ssh.RunMethod("newSFTPClient", Null)

        sFTP = sftpClient
        sshClient = ssh

        Return True
    Catch
        Log("Errore SSHJ: " & LastException)
        Return False
    End Try
End Sub
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…