Skip to content

Commit 3c772c6

Browse files
authored
Merge pull request #544 from RUB-NDS/sidolfreiburgadjustments
Sidolfreiburgadjustments
2 parents a549afd + 8f3edc0 commit 3c772c6

File tree

6 files changed

+20
-6
lines changed

6 files changed

+20
-6
lines changed

TLS-Core/src/main/java/de/rub/nds/tlsattacker/core/certificate/CertificateKeyPair.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ private CertificateKeyType getPublicKeyType(Certificate cert) {
174174
case "1.2.840.113549.1.1.1":
175175
return CertificateKeyType.RSA;
176176
case "1.2.840.10045.2.1":
177+
case "1.2.840.10045.4.3.4":
177178
return CertificateKeyType.ECDSA;
178179
case "1.2.840.113549.1.3.1":
179180
return CertificateKeyType.DH;

TLS-Core/src/main/java/de/rub/nds/tlsattacker/core/constants/ClientCertificateType.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ public enum ClientCertificateType {
2525
FORTEZZA_DMS_RESERVED((byte) 20),
2626
GOSTR34101994((byte) 21),
2727
GOSTR34102001((byte) 22),
28+
ECDSA_SIGN((byte) 64), // TODO Implement these
29+
RSA_FIXED_ECDH((byte) 65),
30+
ECDSA_FIXED_ECDH((byte) 66),
31+
GOST_SIGN256((byte) 66),
32+
GOST_SIGN512((byte) 67),
2833
GOSTR34102012_256((byte) 238),
2934
GOSTR34102012_512((byte) 239);
3035

TLS-Core/src/main/java/de/rub/nds/tlsattacker/core/protocol/parser/CertificateRequestParser.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,10 @@ protected void parseHandshakeMessageContent(CertificateRequestMessage msg) {
4242
LOGGER.debug("Parsing CertificateRequestMessage");
4343
parseClientCertificateTypesCount(msg);
4444
parseClientCertificateTypes(msg);
45-
parseSignatureHashAlgorithmsLength(msg);
46-
parseSignatureHashAlgorithms(msg);
45+
if (getVersion() == ProtocolVersion.TLS12 || getVersion() == ProtocolVersion.DTLS12) {
46+
parseSignatureHashAlgorithmsLength(msg);
47+
parseSignatureHashAlgorithms(msg);
48+
}
4749
parseDistinguishedNamesLength(msg);
4850
if (hasDistinguishedNamesLength(msg)) {
4951
parseDistinguishedNames(msg);

TLS-Core/src/main/java/de/rub/nds/tlsattacker/core/protocol/parser/CertificateVerifyParser.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@ public CertificateVerifyParser(int pointer, byte[] array, ProtocolVersion versio
3939
@Override
4040
protected void parseHandshakeMessageContent(CertificateVerifyMessage msg) {
4141
LOGGER.debug("Parsing CertificateVerifyMessage");
42-
parseSignatureHashAlgorithm(msg);
42+
if (getVersion() == ProtocolVersion.TLS12 || getVersion() == ProtocolVersion.DTLS12 || getVersion().isTLS13()) {
43+
parseSignatureHashAlgorithm(msg);
44+
}
4345
parseSignatureLength(msg);
4446
parseSignature(msg);
4547
}

TLS-Core/src/main/java/de/rub/nds/tlsattacker/core/protocol/serializer/CertificateRequestSerializer.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@ public byte[] serializeHandshakeMessageContent() {
3939
LOGGER.debug("Serializing CertificateRequestMessage");
4040
writeClientCertificateTypesCount(msg);
4141
writeClientCertificateTypes(msg);
42-
writeSignatureHandshakeAlgorithmsLength(msg);
43-
writeSignatureHandshakeAlgorithms(msg);
42+
if (version == ProtocolVersion.TLS12 || version == ProtocolVersion.DTLS12) {
43+
writeSignatureHandshakeAlgorithmsLength(msg);
44+
writeSignatureHandshakeAlgorithms(msg);
45+
}
4446
writeDistinguishedNamesLength(msg);
4547
if (hasDistinguishedNames(msg)) {
4648
writeDistinguishedNames(msg);

TLS-Core/src/main/java/de/rub/nds/tlsattacker/core/protocol/serializer/CertificateVerifySerializer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ public CertificateVerifySerializer(CertificateVerifyMessage message, ProtocolVer
3737
@Override
3838
public byte[] serializeHandshakeMessageContent() {
3939
LOGGER.debug("Serializing CertificateVerifyMessage");
40-
writeSignatureHashAlgorithm(msg);
40+
if (version == ProtocolVersion.TLS12 || version == ProtocolVersion.DTLS12 || version.isTLS13()) {
41+
writeSignatureHashAlgorithm(msg);
42+
}
4143
writeSignatureLength(msg);
4244
writeSignature(msg);
4345
return getAlreadySerialized();

0 commit comments

Comments
 (0)