I ran into an issue today and I'm interested in finding out if the behaviour seen is standard or non standard.
We have several servers that are exposed through a load balancer serving https requests. These servers use TLS certificates with three Subject Alternative Name entries.
For example:
- myservice.mycompany.int
- dc1.myservice.int
- dc2.myservice.int
We had one of the servers rebuilt and a new cert deployed on that server. The Subject Alternative Name entries on the new cert had the same entries as shown above but in a different order.
We had one client system that had issues after this server went into the load balancer where it was throwing the following errors:
Caused by: javax.net.ssl.SSLHandshakeException: server certificate change is restricted during renegotiation
So I came to the conclusion that this was due to the order of the SAN entries when an SSL session renegotiation was being performed by the client system and it got a cert with the SAN entries in a different order.
Is the order of the SAN entries supposed to be significant when determining whether a certificate is equivalent for the purposes of TLS renegotiation?