summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/isode/stroke/tls')
-rw-r--r--src/com/isode/stroke/tls/TLSContext.java9
-rw-r--r--src/com/isode/stroke/tls/java/JSSEContext.java15
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();