Javax.net.ssl.SSLHandshakeException: (handshake_failure) Kein Authentifizierungsschema verfügbarJava

Java-Forum
Guest
 Javax.net.ssl.SSLHandshakeException: (handshake_failure) Kein Authentifizierungsschema verfügbar

Post by Guest »

Meine App verwendet ein React-Frontend, um Abrufe an einen benutzerdefinierten Java-Backend-Server (an meine IP-Adresse: 443) (Netbeans) auf meinem lokalen MacOS zu senden. Das Ganze funktioniert hervorragend mit HTTP-Anfragen auf meinem lokalen Gerät (localhost:3000 und Port 80), aber es ist an der Zeit, es mit A2hosting live zu schalten, was HTTPS-Anfragen erfordert.
Ich ging zu digicert.com und lud die Zertifikate als p7b herunter, importierte sie dann in den Mac-Schlüsselbund und exportierte sie dann als CER-Dateien. Ich habe sie dann in meine Netbeans-Projektdateien eingefügt, um den folgenden Code auszuprobieren. Ich habe das Gefühl, dass ich mit SSL „im Dunkeln arbeite“ und mir wurde dieser Teil nie beigebracht. Bitte helfen Sie!!
Code, der mit http-Anfragen funktioniert:

Code: Select all

   public class ServerRequests {

    public static final String CRLF = "\r\n";
    ServerSocket s;
    
    protected ServerSocket getServerSocket(int port) throws Exception{
        
        return new ServerSocket(port);  
    }

    public void runServer(int port) throws Exception{
        
        s = getServerSocket(port);
        
        while(true) {
            
            try {
                System.out.println("server is running");
                Socket us = s.accept();
                Handler(us);
                
                
            } catch (IOException e) {
                System.err.println(e);
            }
           }
        }
   
    
        public void Handler(Socket s) throws Exception, MessagingException {
Code, der bei diesen HTTPS-Anfragen nicht funktioniert:

Code: Select all

    protected ServerSocket getServerSocket(int port) throws Exception{
        
        return new ServerSocket(port);  
    }

     public void runServer(int port) throws Exception{
        
         char[] passphrase = "passphrase".toCharArray();
        KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
        ks.load(null, passphrase);
        
        try (FileOutputStream fos = new FileOutputStream("kss.jks")) {
    ks.store(fos, passphrase);
}
    
      CertificateFactory cf = CertificateFactory.getInstance("X.509");
       X509Certificate[] chain = new X509Certificate[3];
       
       chain[0] = (X509Certificate) cf.generateCertificate(new FileInputStream("/Users/myname/Desktop/
NetBeansProjects/PHQForum/root.cer"));
     chain[1] = (X509Certificate) cf.generateCertificate(new FileInputStream("/Users/myname/Desktop/
NetBeansProjects/PHQForum/rs.cer"));
               chain[2] = (X509Certificate) cf.generateCertificate(new FileInputStream("/Users/myname/Desktop
/NetBeansProjects/PHQForum/phq.cer"));
     
        ks.setCertificateEntry(“myalias”, chain[0]);
        ks.setCertificateEntry("myalias", chain[1]);
        ks.setCertificateEntry("myalias", chain[2]);

         KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
        kmf.init(ks, passphrase);
        
           SSLContext sslContext = SSLContext.getInstance("TLSv1.1");
        sslContext.init(kmf.getKeyManagers(), null, null);
  
        SSLServerSocketFactory ssf = sslContext.getServerSocketFactory();
        
        SSLServerSocket serverSocket = (SSLServerSocket) ssf.createServerSocket(port);
 
        while(true) {
            
            try {
                System.out.println("server is running");
               SSLSocket us = (SSLSocket) serverSocket.accept();
                Handler(us);
                
                
            } catch (IOException e) {
                System.err.println(e);
            }
          }
         }
   
    
    public void Handler(SSLSocket s) throws Exception, MessagingException {
Ich habe versucht, „TLS“ anstelle von „TLSv1.1“ einzugeben, ohne die Kette oder x509Certificate und nur das reguläre Zertifikat zu verwenden.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post