diff options
author | Peter Dettman <peter.dettman@bouncycastle.org> | 2013-06-20 17:56:23 +0400 |
---|---|---|
committer | Peter Dettman <peter.dettman@bouncycastle.org> | 2013-06-20 17:56:23 +0400 |
commit | 8f79f999f84dee49eb8a8244dd47d71f94b641cc (patch) | |
tree | fbc6d0e94de5b51690382481b31ec540d05ec0c9 /core/src/main/java/org/bouncycastle/crypto/tls/DTLSProtocol.java | |
parent | b56d8809108ba95756880d95f971a624fd9da84d (diff) |
Add support for max_fragment_length extension to D/TLS protocols
Diffstat (limited to 'core/src/main/java/org/bouncycastle/crypto/tls/DTLSProtocol.java')
-rw-r--r-- | core/src/main/java/org/bouncycastle/crypto/tls/DTLSProtocol.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/core/src/main/java/org/bouncycastle/crypto/tls/DTLSProtocol.java b/core/src/main/java/org/bouncycastle/crypto/tls/DTLSProtocol.java index 680ac260..e27580c1 100644 --- a/core/src/main/java/org/bouncycastle/crypto/tls/DTLSProtocol.java +++ b/core/src/main/java/org/bouncycastle/crypto/tls/DTLSProtocol.java @@ -4,6 +4,7 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.security.SecureRandom; +import java.util.Hashtable; import java.util.Vector; import org.bouncycastle.util.Arrays; @@ -37,6 +38,17 @@ public abstract class DTLSProtocol } } + protected static short evaluateMaxFragmentLengthExtension(Hashtable clientExtensions, Hashtable serverExtensions, + short alertDescription) throws IOException + { + short maxFragmentLength = TlsExtensionsUtils.getMaxFragmentLengthExtension(serverExtensions); + if (maxFragmentLength >= 0 && maxFragmentLength != TlsExtensionsUtils.getMaxFragmentLengthExtension(clientExtensions)) + { + throw new TlsFatalAlert(alertDescription); + } + return maxFragmentLength; + } + protected static byte[] generateCertificate(Certificate certificate) throws IOException { |