@@ -130,8 +130,8 @@ public static String peerCertificateInfo(Certificate certificate, String prefix)
130
130
try {
131
131
return String .format ("%s subject: %s, subject alternative names: %s, " +
132
132
"issuer: %s, not valid after: %s, X.509 usage extensions: %s" ,
133
- prefix , c .getSubjectDN ().getName (), sans (c , "," ), c .getIssuerDN ().getName (),
134
- c .getNotAfter (), extensions (c ));
133
+ stripCRLF ( prefix ), stripCRLF ( c .getSubjectDN ().getName ()), stripCRLF ( sans (c , "," )), stripCRLF ( c .getIssuerDN ().getName () ),
134
+ c .getNotAfter (), stripCRLF ( extensions (c ) ));
135
135
} catch (Exception e ) {
136
136
return "Error while retrieving " + prefix + " certificate information" ;
137
137
}
@@ -173,6 +173,14 @@ public static String extensionPrettyPrint(String oid, byte[] derOctetString, X50
173
173
}
174
174
}
175
175
176
+ /**
177
+ * Strips carriage return (CR) and line feed (LF) characters to mitigate CWE-117.
178
+ * @return sanitised string value
179
+ */
180
+ public static String stripCRLF (String value ) {
181
+ return value .replaceAll ("\r " , "" ).replaceAll ("\n " , "" );
182
+ }
183
+
176
184
private static String extensions (X509Certificate certificate ) {
177
185
List <String > extensions = new ArrayList <String >();
178
186
for (String oid : certificate .getCriticalExtensionOIDs ()) {
0 commit comments