We generate certificates that are intended to be used for server authentication in a couple of places:

- `bin/elasticsearch-certutil http` command  ( See `CertGenUtils.generateSignedCertificate` in `HttpCertificateCommand` )
- TLS auto-configuraion for node startup ( see [`AutoConfigureNode`](https://github.com/elastic/elasticsearch/blob/814f7f9f52cb8c05db6465b9bfc818ea5d76c575/x-pack/plugin/security/cli/src/main/java/org/elasticsearch/xpack/security/cli/AutoConfigureNode.java#L454) )

In these cases we know that the certificate is meant to be used for server authentication, so we can set Extended Key Usage extension to `1.3.6.1.5.5.7.3.1`
x-pack/plugin/security/cli/src/main/java/org/elasticsearch/xpack/security/cli/AutoConfigureNode.java
bw.write("xpack.security.transport.ssl:");
                    bw.newLine();
                    bw.write("  enabled: true");
                    bw.newLine();
                    bw.write("  verification_mode: certificate");
                    bw.newLine();
                    bw.write("  keystore.path: " + TLS_GENERATED_CERTS_DIR_NAME + "/" + TRANSPORT_AUTOGENERATED_KEYSTORE_NAME + ".p12");
                    bw.newLine();
                    
                    
                    
                    bw.write("  truststore.path: " + TLS_GENERATED_CERTS_DIR_NAME + "/" + TRANSPORT_AUTOGENERATED_KEYSTORE_NAME + ".p12");
                    if (inEnrollmentMode) {
                        bw.newLine();
                        bw.write("# Discover existing nodes in the cluster");
                        bw.newLine();
                        bw.write(
                            DISCOVERY_SEED_HOSTS_SETTING.getKey()
                                + ": ["
                                + transportAddresses.stream().map(p -> '"' + p + '"').collect(Collectors.joining(", "))
                                + "]"
                        );
                        bw.newLine();
                    } else {
                        
                        
                        
                        if (false == DiscoveryModule.isSingleNodeDiscovery(localFinalEnv.settings())
                            && false == ClusterBootstrapService.INITIAL_MASTER_NODES_SETTING.exists(localFinalEnv.settings())) {
                            bw.newLine();