code: void handshakeAlert(byte description) throws SSLProtocolException {
  
          String message = Alerts.alertDescription(description);
  
          if (debug != null && Debug.isOn("handshake")) {
              System.out.println("SSL -- handshake alert:  "
                  + message);
          }
  
          /*
           * It's ok to get a no_certificate alert from a client of which
           * we *requested* authentication information.
           * However, if we *required* it, then this is not acceptable.
           *
           * Anyone calling getPeerCertificates() on the
           * session will get an SSLPeerUnverifiedException.
           */
          if ((description == Alerts.alert_no_certificate) &&
                  (doClientAuth == SSLEngineImpl.clauth_requested)) {
              return;
          }
  
          throw new SSLProtocolException("handshake alert: " + message);
      }
docs: /*
  Fault detected during handshake.