Skip to content

Commit 2865562

Browse files
jls98Jia-LinNErinola
authored
Print hexnumbers with 0x (#308)
Co-authored-by: Jia-Lin <[email protected]> Co-authored-by: NErinola <[email protected]>
1 parent 9a7866e commit 2865562

File tree

5 files changed

+51
-42
lines changed

5 files changed

+51
-42
lines changed

Scanner-Core/src/main/java/de/rub/nds/scanner/core/report/ReportCreator.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ protected ReportContainer createDefaultKeyValueContainer(String key, String valu
3737
return new KeyValueContainer(key, AnsiColor.DEFAULT_COLOR, value, AnsiColor.DEFAULT_COLOR);
3838
}
3939

40+
protected ReportContainer createDefaultKeyHexValueContainer(String key, String value) {
41+
return new KeyValueContainer(
42+
key, AnsiColor.DEFAULT_COLOR, "0x" + value, AnsiColor.DEFAULT_COLOR);
43+
}
44+
4045
protected TextContainer createDefaultTextContainer(String text) {
4146
return new TextContainer(text, AnsiColor.DEFAULT_COLOR);
4247
}

Scanner-Core/src/main/java/de/rub/nds/scanner/core/report/ReportPrinter.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,14 @@ protected StringBuilder prettyAppend(StringBuilder builder, String value, AnsiCo
6969
return builder;
7070
}
7171

72+
protected StringBuilder prettyAppendHexString(
73+
StringBuilder builder, String name, String value) {
74+
return builder.append(addIndentations(name))
75+
.append(": ")
76+
.append(value == null ? "Unknown" : "0x" + value)
77+
.append("\n");
78+
}
79+
7280
protected StringBuilder prettyAppend(StringBuilder builder, String name, String value) {
7381
return builder.append(addIndentations(name))
7482
.append(": ")

TLS-Scanner-Core/src/main/java/de/rub/nds/tlsscanner/core/probe/certificate/CertificateReport.java

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -440,34 +440,23 @@ private String printPublicKey(PublicKey publicKey) {
440440
if (publicKey instanceof CustomDhPublicKey) {
441441
CustomDhPublicKey dhPublicKey = (CustomDhPublicKey) publicKey;
442442
builder.append("Static Diffie Hellman\n");
443-
builder.append("\t Modulus:")
444-
.append(dhPublicKey.getModulus().toString(16))
445-
.append("\n");
446-
builder.append("\t Generator:")
447-
.append(dhPublicKey.getModulus().toString(16))
448-
.append("\n");
449-
builder.append("\t Y:").append(dhPublicKey.getY().toString(16)).append("\n");
443+
appendHexString(builder, "Modulus", dhPublicKey.getModulus().toString(16));
444+
appendHexString(builder, "Generator", dhPublicKey.getModulus().toString(16));
445+
appendHexString(builder, "Y", dhPublicKey.getY().toString(16));
450446
} else if (publicKey instanceof CustomDsaPublicKey) {
451447
CustomDsaPublicKey dsaPublicKey = (CustomDsaPublicKey) publicKey;
452448
builder.append("DSA\n");
453-
builder.append("\t Modulus:").append(dsaPublicKey.getDsaP().toString(16)).append("\n");
454-
builder.append("\t Generator:")
455-
.append(dsaPublicKey.getDsaG().toString(16))
456-
.append("\n");
457-
builder.append("\t Q:").append(dsaPublicKey.getDsaQ().toString(16)).append("\n");
458-
builder.append("\t X:").append(dsaPublicKey.getY().toString(16)).append("\n");
449+
appendHexString(builder, "Modulus", dsaPublicKey.getDsaP().toString(16));
450+
appendHexString(builder, "Generator", dsaPublicKey.getDsaG().toString(16));
451+
appendHexString(builder, "Q", dsaPublicKey.getDsaQ().toString(16));
452+
appendHexString(builder, "X", dsaPublicKey.getY().toString(16));
459453
} else if (publicKey instanceof CustomRsaPublicKey) {
460454
CustomRsaPublicKey rsaPublicKey = (CustomRsaPublicKey) publicKey;
461455
builder.append("RSA\n");
462-
builder.append("\t Modulus:")
463-
.append(rsaPublicKey.getModulus().toString(16))
464-
.append("\n");
465-
builder.append("\t Generator:")
466-
.append(rsaPublicKey.getModulus().toString(16))
467-
.append("\n");
468-
builder.append("\t Public exponent:")
469-
.append(rsaPublicKey.getPublicExponent().toString(16))
470-
.append("\n");
456+
appendHexString(builder, "Modulus", rsaPublicKey.getModulus().toString(16));
457+
appendHexString(builder, "Generator", rsaPublicKey.getModulus().toString(16));
458+
appendHexString(
459+
builder, "Public exponent", rsaPublicKey.getPublicExponent().toString(16));
471460
} else if (publicKey instanceof CustomEcPublicKey) {
472461
CustomEcPublicKey ecPublicKey = (CustomEcPublicKey) publicKey;
473462
builder.append("Elliptic Curve\n");
@@ -485,4 +474,8 @@ private String printPublicKey(PublicKey publicKey) {
485474
}
486475
return builder.toString();
487476
}
477+
478+
private StringBuilder appendHexString(StringBuilder builder, String title, String value) {
479+
return builder.append("\t " + title + ":").append("0x" + value).append("\n");
480+
}
488481
}

TLS-Scanner-Core/src/main/java/de/rub/nds/tlsscanner/core/report/TlsReportCreator.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -576,33 +576,34 @@ private void appendPublicKey(ListContainer outerContainer, PublicKey publicKey)
576576
createDefaultKeyValueContainer("PublicKey Type:", "Static Diffie Hellman"));
577577

578578
outerContainer.add(
579-
createDefaultKeyValueContainer(
579+
createDefaultKeyHexValueContainer(
580580
"Modulus", dhPublicKey.getModulus().toString(16)));
581581
outerContainer.add(
582-
createDefaultKeyValueContainer(
582+
createDefaultKeyHexValueContainer(
583583
"Generator", dhPublicKey.getModulus().toString(16)));
584584
outerContainer.add(
585-
createDefaultKeyValueContainer("Y", dhPublicKey.getY().toString(16)));
585+
createDefaultKeyHexValueContainer("Y", dhPublicKey.getY().toString(16)));
586586
} else if (publicKey instanceof CustomDsaPublicKey) {
587587
CustomDsaPublicKey dsaPublicKey = (CustomDsaPublicKey) publicKey;
588588
outerContainer.add(createDefaultKeyValueContainer("PublicKey Type:", "DSA"));
589589
outerContainer.add(
590-
createDefaultKeyValueContainer("Modulus", dsaPublicKey.getDsaP().toString(16)));
590+
createDefaultKeyHexValueContainer(
591+
"Modulus", dsaPublicKey.getDsaP().toString(16)));
591592
outerContainer.add(
592-
createDefaultKeyValueContainer(
593+
createDefaultKeyHexValueContainer(
593594
"Generator", dsaPublicKey.getDsaG().toString(16)));
594595
outerContainer.add(
595-
createDefaultKeyValueContainer("Q", dsaPublicKey.getDsaQ().toString(16)));
596+
createDefaultKeyHexValueContainer("Q", dsaPublicKey.getDsaQ().toString(16)));
596597
outerContainer.add(
597-
createDefaultKeyValueContainer("X", dsaPublicKey.getY().toString(16)));
598+
createDefaultKeyHexValueContainer("X", dsaPublicKey.getY().toString(16)));
598599
} else if (publicKey instanceof CustomRsaPublicKey) {
599600
CustomRsaPublicKey rsaPublicKey = (CustomRsaPublicKey) publicKey;
600601
outerContainer.add(createDefaultKeyValueContainer("PublicKey Type:", "RSA"));
601602
outerContainer.add(
602-
createDefaultKeyValueContainer(
603+
createDefaultKeyHexValueContainer(
603604
"Modulus", rsaPublicKey.getModulus().toString(16)));
604605
outerContainer.add(
605-
createDefaultKeyValueContainer(
606+
createDefaultKeyHexValueContainer(
606607
"Public exponent", rsaPublicKey.getPublicExponent().toString(16)));
607608
} else if (publicKey instanceof CustomEcPublicKey) {
608609
CustomEcPublicKey ecPublicKey = (CustomEcPublicKey) publicKey;

TLS-Server-Scanner/src/main/java/de/rub/nds/tlsscanner/serverscanner/report/ServerReportPrinter.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -835,7 +835,8 @@ private StringBuilder appendCertificate(StringBuilder builder, CertificateChain
835835
} else {
836836
builder.append("ROCA (simple): not tested");
837837
}
838-
prettyAppend(builder, "Fingerprint (SHA256)", certReport.getSHA256Fingerprint());
838+
prettyAppendHexString(
839+
builder, "Fingerprint (SHA256)", certReport.getSHA256Fingerprint());
839840
}
840841
}
841842
return builder;
@@ -846,21 +847,22 @@ private String prettyAppendPublicKey(StringBuilder builder, PublicKey publicKey)
846847
CustomDhPublicKey dhPublicKey = (CustomDhPublicKey) publicKey;
847848
prettyAppend(builder, "PublicKey Type:", "Static Diffie Hellman");
848849

849-
prettyAppend(builder, "Modulus", dhPublicKey.getModulus().toString(16));
850-
prettyAppend(builder, "Generator", dhPublicKey.getModulus().toString(16));
851-
prettyAppend(builder, "Y", dhPublicKey.getY().toString(16));
850+
prettyAppendHexString(builder, "Modulus", dhPublicKey.getModulus().toString(16));
851+
prettyAppendHexString(builder, "Generator", dhPublicKey.getModulus().toString(16));
852+
prettyAppendHexString(builder, "Y", dhPublicKey.getY().toString(16));
852853
} else if (publicKey instanceof CustomDsaPublicKey) {
853854
CustomDsaPublicKey dsaPublicKey = (CustomDsaPublicKey) publicKey;
854855
prettyAppend(builder, "PublicKey Type:", "DSA");
855-
prettyAppend(builder, "Modulus", dsaPublicKey.getDsaP().toString(16));
856-
prettyAppend(builder, "Generator", dsaPublicKey.getDsaG().toString(16));
857-
prettyAppend(builder, "Q", dsaPublicKey.getDsaQ().toString(16));
858-
prettyAppend(builder, "X", dsaPublicKey.getY().toString(16));
856+
prettyAppendHexString(builder, "Modulus", dsaPublicKey.getDsaP().toString(16));
857+
prettyAppendHexString(builder, "Generator", dsaPublicKey.getDsaG().toString(16));
858+
prettyAppendHexString(builder, "Q", dsaPublicKey.getDsaQ().toString(16));
859+
prettyAppendHexString(builder, "X", dsaPublicKey.getY().toString(16));
859860
} else if (publicKey instanceof CustomRsaPublicKey) {
860861
CustomRsaPublicKey rsaPublicKey = (CustomRsaPublicKey) publicKey;
861862
prettyAppend(builder, "PublicKey Type:", "RSA");
862-
prettyAppend(builder, "Modulus", rsaPublicKey.getModulus().toString(16));
863-
prettyAppend(builder, "Public exponent", rsaPublicKey.getPublicExponent().toString(16));
863+
prettyAppendHexString(builder, "Modulus", rsaPublicKey.getModulus().toString(16));
864+
prettyAppendHexString(
865+
builder, "Public exponent", rsaPublicKey.getPublicExponent().toString(16));
864866
} else if (publicKey instanceof CustomEcPublicKey) {
865867
CustomEcPublicKey ecPublicKey = (CustomEcPublicKey) publicKey;
866868
prettyAppend(builder, "PublicKey Type:", "EC");
@@ -869,7 +871,7 @@ private String prettyAppendPublicKey(StringBuilder builder, PublicKey publicKey)
869871
} else {
870872
prettyAppend(builder, "Group", ecPublicKey.getGroup().name());
871873
}
872-
prettyAppend(builder, "Public Point", ecPublicKey.getPoint().toString());
874+
prettyAppendHexString(builder, "Public Point", ecPublicKey.getPoint().toString(16));
873875
} else {
874876
builder.append(publicKey.toString()).append("\n");
875877
}

0 commit comments

Comments
 (0)