diff options
author | Peter Dettman <peter.dettman@bouncycastle.org> | 2013-06-20 09:50:40 +0400 |
---|---|---|
committer | Peter Dettman <peter.dettman@bouncycastle.org> | 2013-06-20 09:50:40 +0400 |
commit | 8239473e2e25dfcbc495bfd90d708feba6c056fd (patch) | |
tree | f673e727785d480acb042adf779ef2da718eacb4 /core/src/main/java/org/bouncycastle/crypto/tls/TlsServerProtocol.java | |
parent | bc3ab6397c3bd2fcf68aa9b597eb6014b33f6050 (diff) |
New utility method and refactoring related to extension data
Diffstat (limited to 'core/src/main/java/org/bouncycastle/crypto/tls/TlsServerProtocol.java')
-rw-r--r-- | core/src/main/java/org/bouncycastle/crypto/tls/TlsServerProtocol.java | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/core/src/main/java/org/bouncycastle/crypto/tls/TlsServerProtocol.java b/core/src/main/java/org/bouncycastle/crypto/tls/TlsServerProtocol.java index f5cb1e53..e4109b7a 100644 --- a/core/src/main/java/org/bouncycastle/crypto/tls/TlsServerProtocol.java +++ b/core/src/main/java/org/bouncycastle/crypto/tls/TlsServerProtocol.java @@ -565,22 +565,19 @@ public class TlsServerProtocol * The server MUST check if the "renegotiation_info" extension is included in the * ClientHello. */ - if (clientExtensions != null) + byte[] renegExtData = TlsUtils.getExtensionData(clientExtensions, EXT_RenegotiationInfo); + if (renegExtData != null) { - byte[] renegExtValue = (byte[])clientExtensions.get(EXT_RenegotiationInfo); - if (renegExtValue != null) - { - /* - * If the extension is present, set secure_renegotiation flag to TRUE. The - * server MUST then verify that the length of the "renegotiated_connection" - * field is zero, and if it is not, MUST abort the handshake. - */ - this.secure_renegotiation = true; + /* + * If the extension is present, set secure_renegotiation flag to TRUE. The + * server MUST then verify that the length of the "renegotiated_connection" + * field is zero, and if it is not, MUST abort the handshake. + */ + this.secure_renegotiation = true; - if (!Arrays.constantTimeAreEqual(renegExtValue, createRenegotiationInfo(TlsUtils.EMPTY_BYTES))) - { - this.failWithError(AlertLevel.fatal, AlertDescription.handshake_failure); - } + if (!Arrays.constantTimeAreEqual(renegExtData, createRenegotiationInfo(TlsUtils.EMPTY_BYTES))) + { + this.failWithError(AlertLevel.fatal, AlertDescription.handshake_failure); } } } @@ -726,9 +723,8 @@ public class TlsServerProtocol */ if (this.secure_renegotiation) { - - boolean noRenegExt = this.serverExtensions == null - || !this.serverExtensions.containsKey(EXT_RenegotiationInfo); + byte[] renegExtData = TlsUtils.getExtensionData(this.serverExtensions, EXT_RenegotiationInfo); + boolean noRenegExt = (null == renegExtData); if (noRenegExt) { |