diff options
Diffstat (limited to 'src/com/isode/stroke/tls')
-rw-r--r-- | src/com/isode/stroke/tls/TLSContext.java | 9 | ||||
-rw-r--r-- | src/com/isode/stroke/tls/java/JSSEContext.java | 15 |
2 files changed, 13 insertions, 11 deletions
diff --git a/src/com/isode/stroke/tls/TLSContext.java b/src/com/isode/stroke/tls/TLSContext.java index 738c8b6..3f5e8d7 100644 --- a/src/com/isode/stroke/tls/TLSContext.java +++ b/src/com/isode/stroke/tls/TLSContext.java @@ -12,6 +12,7 @@ package com.isode.stroke.tls; import java.util.List; import com.isode.stroke.base.ByteArray; +import com.isode.stroke.base.SafeByteArray; import com.isode.stroke.signals.Signal; import com.isode.stroke.signals.Signal1; @@ -21,8 +22,8 @@ public abstract class TLSContext { public abstract boolean setClientCertificate(CertificateWithKey cert); - public abstract void handleDataFromNetwork(ByteArray data); - public abstract void handleDataFromApplication(ByteArray data); + public abstract void handleDataFromNetwork(SafeByteArray data); + public abstract void handleDataFromApplication(SafeByteArray data); /** * The peer certificate, as presented by the remote entity @@ -38,8 +39,8 @@ public abstract class TLSContext { public abstract ByteArray getFinishMessage(); - public Signal1<ByteArray> onDataForNetwork = new Signal1<ByteArray>(); - public Signal1<ByteArray> onDataForApplication = new Signal1<ByteArray>(); + public Signal1<SafeByteArray> onDataForNetwork = new Signal1<SafeByteArray>(); + public Signal1<SafeByteArray> onDataForApplication = new Signal1<SafeByteArray>(); public Signal onError = new Signal(); public Signal onConnected = new Signal(); } diff --git a/src/com/isode/stroke/tls/java/JSSEContext.java b/src/com/isode/stroke/tls/java/JSSEContext.java index da8316a..17b7d4d 100644 --- a/src/com/isode/stroke/tls/java/JSSEContext.java +++ b/src/com/isode/stroke/tls/java/JSSEContext.java @@ -45,6 +45,7 @@ import javax.net.ssl.SSLException; import javax.net.ssl.X509ExtendedKeyManager; import com.isode.stroke.base.ByteArray; +import com.isode.stroke.base.SafeByteArray; import com.isode.stroke.tls.CAPICertificate; import com.isode.stroke.tls.Certificate; import com.isode.stroke.tls.CertificateVerificationError; @@ -238,7 +239,7 @@ public class JSSEContext extends TLSContext { int bytesToUnwrap = 0; int lastConsumed = 0; HandshakeStatus handshakeStatus = null; - ByteArray byteArray = null; + SafeByteArray byteArray = null; synchronized(recvMutex) { try { @@ -353,7 +354,7 @@ public class JSSEContext extends TLSContext { byte[] result = new byte[unwrappedReceived.remaining()]; unwrappedReceived.get(result); unwrappedReceived.compact(); - byteArray = new ByteArray(result); + byteArray = new SafeByteArray(result); } } @@ -377,7 +378,7 @@ public class JSSEContext extends TLSContext { private int wrapAndSendData() { int bytesSentToSocket = 0; - ByteArray byteArray = null; + SafeByteArray byteArray = null; SSLEngineResult sslEngineResult = null; Status status = null; HandshakeStatus handshakeStatus = null; @@ -394,7 +395,7 @@ public class JSSEContext extends TLSContext { if (wrappedToSend.hasRemaining()) { byte[] b = new byte[(wrappedToSend.remaining())]; wrappedToSend.get(b); - byteArray = new ByteArray(b); + byteArray = new SafeByteArray(b); } wrappedToSend.compact(); } /* end synchronized */ @@ -480,7 +481,7 @@ public class JSSEContext extends TLSContext { if (wrappedToSend.hasRemaining()) { byte[] b = new byte[(wrappedToSend.remaining())]; wrappedToSend.get(b); - byteArray = new ByteArray(b); + byteArray = new SafeByteArray(b); } wrappedToSend.compact(); break; @@ -917,7 +918,7 @@ public class JSSEContext extends TLSContext { } @Override - public void handleDataFromNetwork(ByteArray data) { + public void handleDataFromNetwork(SafeByteArray data) { if (hasError()) { /* We have previously seen, and reported, an error. Emit again */ onError.emit(); @@ -995,7 +996,7 @@ public class JSSEContext extends TLSContext { } @Override - public void handleDataFromApplication(ByteArray data) { + public void handleDataFromApplication(SafeByteArray data) { if (hasError()) { /* We have previously seen, and reported, an error. Emit again */ onError.emit(); |