@@ -104,8 +104,8 @@ public static String peerCertificateInfo(Certificate certificate, String prefix)
104
104
try {
105
105
return String .format ("%s subject: %s, subject alternative names: %s, " +
106
106
"issuer: %s, not valid after: %s, X.509 usage extensions: %s" ,
107
- prefix , c .getSubjectDN ().getName (), sans (c , "," ), c .getIssuerDN ().getName (),
108
- c .getNotAfter (), extensions (c ));
107
+ stripCRLF ( prefix ), stripCRLF ( c .getSubjectDN ().getName ()), stripCRLF ( sans (c , "," )), stripCRLF ( c .getIssuerDN ().getName () ),
108
+ c .getNotAfter (), stripCRLF ( extensions (c ) ));
109
109
} catch (Exception e ) {
110
110
return "Error while retrieving " + prefix + " certificate information" ;
111
111
}
@@ -145,6 +145,14 @@ public static String extensionPrettyPrint(String oid, byte[] derOctetString, X50
145
145
}
146
146
}
147
147
148
+ /**
149
+ * Strips carriage return (CR) and line feed (LF) characters to mitigate CWE-117.
150
+ * @return sanitised string value
151
+ */
152
+ public static String stripCRLF (String value ) {
153
+ return value .replaceAll ("\r " , "" ).replaceAll ("\n " , "" );
154
+ }
155
+
148
156
private static String extensions (X509Certificate certificate ) {
149
157
List <String > extensions = new ArrayList <>();
150
158
for (String oid : certificate .getCriticalExtensionOIDs ()) {
0 commit comments