This part always confuses me

I supply the trust and key store files on the command line and I see the SAN for the tomcat server IP (in ObjectId #3). I try to connect to tomcat by host-IP and port.  Here's the text of the keystore sent in.

   Keystore type: PKCS12
   Keystore provider: SUN

   Your keystore contains 1 entry

   Alias name: sgsagent
   Creation date: Jun 2, 2022
   Entry type: trustedCertEntry

   Owner: EMAILADDRESS=rob.sarg...@utah.edu,
   CN=ip-10-0-2-118.us-west-2.compute.internal, OU=PPR, O=University of
   Utah, L=Salt Lake City, ST=UT, C=US
   Issuer: EMAILADDRESS=rob.sarg...@utah.edu,
   CN=ip-10-0-2-118.us-west-2.compute.internal, OU=PPR, O=University of
   Utah, L=Salt Lake City, ST=UT, C=US
   Serial number: 2f543ea5b1ce847034a34dfb4d26ecbdac1959d5
   Valid from: Thu Jun 02 03:12:01 UTC 2022 until: Sat Jul 02 03:12:01
   UTC 2022
   Certificate fingerprints:
             SHA1:
   61:92:93:E7:A1:05:85:ED:66:6F:BC:6C:76:7E:CA:E8:7F:A7:0D:93
             SHA256:
   
23:85:E4:85:08:93:B1:4C:D7:40:47:E7:EF:3F:8F:5F:FC:FA:CA:57:0F:B1:4C:A8:3F:25:AE:D7:98:0C:4B:28
   Signature algorithm name: SHA256withRSA
   Subject Public Key Algorithm: 2048-bit RSA key
   Version: 3

   Extensions:

   #1: ObjectId: 2.5.29.35 Criticality=false
   AuthorityKeyIdentifier [
   KeyIdentifier [
   0000: F4 FC 13 D9 FC 1C C1 A0   DB 0A 81 28 C0 EF DC FF ...........(....
   0010: 28 64 81 BE                                        (d..
   ]
   ]

   #2: ObjectId: 2.5.29.19 Criticality=false
   BasicConstraints:[
      CA:true
      PathLen: no limit
   ]

   #3: ObjectId: 2.5.29.17 Criticality=false
   SubjectAlternativeName [
      IPAddress: 10.0.2.118
   ]

   #4: ObjectId: 2.5.29.14 Criticality=false
   SubjectKeyIdentifier [
   KeyIdentifier [
   0000: F4 FC 13 D9 FC 1C C1 A0   DB 0A 81 28 C0 EF DC FF ...........(....
   0010: 28 64 81 BE                                        (d..
   ]
   ]

but I get

   javax.net.ssl.SSLHandshakeException: No subject alternative names
   matching IP address 10.0.2.118 found
            at
   
java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:578)
            at
   
java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:123)
            at
   edu.utah.camplab.sgs.AbstractSGSRun.canConnect(AbstractSGSRun.java:386)
            at
   edu.utah.camplab.sgs.AbstractSGSRun.init(AbstractSGSRun.java:296)
            at
   edu.utah.camplab.sgs.AbstractSGSOptions.init(AbstractSGSOptions.java:37)
            at edu.utah.camplab.sgs.SGSChase.init(SGSChase.java:76)
            at edu.utah.camplab.sgs.SGSChase.init(SGSChase.java:85)
            at edu.utah.camplab.app.SGSPValue.<init>(SGSPValue.java:68)
            at edu.utah.camplab.app.SGSPValue.main(SGSPValue.java:27)
   Caused by: javax.net.ssl.SSLHandshakeException: No subject
   alternative names matching IP address 10.0.2.118 found
   Then comes my summary log:
   03:52:04.752 [main] ERROR edu.utah.camplab.sgs.AbstractSGSRun -
   cannot get to saver, trying 10.0.2.118:15002
   Could not establish connection to 10.0.2.118:15002
   from
        if (! canConnect() ) {
          logger.error("cannot get to saver, trying {}:{}",
   getAccumulationHost(), getAccumulationPort());
          throw new RuntimeException(String.format("Could not establish
   connection to %s:%d", getAccumulationHost(), getAccumulationPort()));
        }

      protected boolean canConnect() {
        boolean retval = false;
        String weburl = String.format("https://%s:%d";,
   getAccumulationHost(), getAccumulationPort());

        try {
          HttpRequest request = HttpRequest.newBuilder()
        .header("dbrole", getProjectName())
        .header("dbname", getDbName())
        .header("dbhost", System.getProperty("SGSSRVR_databaseHost",
   "localhost"))
        .uri(URI.create(weburl+"/sgs/webmonitor"))
        .build();
          HttpResponse response = getHttpClient().send(request,
   HttpResponse.BodyHandlers.ofString());
          retval = response.statusCode() == 200;
        }
        catch (IOException  | InterruptedException ie) {
          retval = false;
          ie.printStackTrace();
        }
        return retval;
      }


I had this overall configuration working until I 'terminated' the AWS server instance and am trying to rebuild.

Could a lack of network connectivity between client and server present this same symptom?

Reply via email to