2023-08-10 17:12:37 +02:00

56 lines
1.4 KiB
Plaintext

== How to fix it in Java EE
=== Code examples
include::../../common/fix/code-rationale.adoc[]
:cert_variable_name: mail.smtp.ssl.checkserveridentity
:cert_variable_safe_value: true
include::../../common/fix/code-rationale-explicit.adoc[]
==== Noncompliant code example
[source,java,diff-id=11,diff-type=noncompliant]
----
import java.util.Properties;
public Properties prepareEmailConnection() {
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); // Noncompliant
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
return props;
}
----
==== Compliant solution
[source,java,diff-id=11,diff-type=compliant]
----
import java.util.Properties;
public Properties prepareEmailConnection() {
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.ssl.checkserveridentity", true);
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
return props;
}
----
=== How does this work?
include::../../common/fix/validation.adoc[]
include::../../common/fix/keytool.adoc[]