summaryrefslogtreecommitdiff
path: root/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java
diff options
context:
space:
mode:
authorCasey Marshall <csm@gnu.org>2006-07-18 08:12:30 +0000
committerCasey Marshall <csm@gnu.org>2006-07-18 08:12:30 +0000
commitceca0e3930ab18748f1b02be3a6260c3daf4734f (patch)
treeb13267f576e6612195406324e0f6b97086b17896 /gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java
parent6ce231a4863bc4073ddc7eaa36429f08a8dd7a53 (diff)
downloadclasspath-ssl-nio-branch.tar.gz
2006-07-18 Casey Marshall <csm@gnu.org>ssl-nio-branch
* gnu/javax/net/ssl/provider/ClientHandshake.java (implHandleInput, implHandleOutput): fix PSK exchange handling. (ClientDHGen.full): new field. (ClientDHGen.implRun): run full key exchange if `full' is true. (ClientDHGen.serverKey): new method. (RSAGen.full): new field. (RSAGen.implRun): run full key exchange if `full' is true. * gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java (params): slice the buffer. * gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java (<init>): use `dhParams,' not `buffer.' (params): slice the buffer. * gnu/javax/net/ssl/provider/ServerKeyExchange.java (length): handle case where parameters or signature are null. * gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java (version): removed. (<init>): don't take version argument. (<init>): don't take version argument; take buffer argument. (secret): pass TLS_1 to EncryptedPreMasterSecret constructor. * gnu/javax/net/ssl/provider/CipherSuite.java (isResolved): new field. (<init>, <init>): set `isResolved.' (resolve): add PSK cipher suite detection. (isResolved): new method. * gnu/javax/net/ssl/provider/ServerHandshake.java (serverKey): new field. (chooseSuites): choose NONE key exchanges, too; omit unresolved cipher suites. (implHandleInput, implHandleOutput): fix PSK handling. (checkKeyExchange): update for NONE and PSK exchanges. (CertLoader.implRun): grab our private key here. (RSAKeyExchange.implRun): initialize RSA cipher with our private key. (RSA_PSKExchange.implRun): likewise. * gnu/javax/net/ssl/provider/ExchangeKeys.java (<init>): duplicate and order the buffer; handle null argument. * gnu/javax/net/ssl/provider/ClientKeyExchange.java (exchangeKeys): handle NONE exchange. * gnu/javax/net/ssl/provider/SSLContextImpl.java (engineInit): handle PSK key managers properly. * gnu/javax/net/ssl/provider/SSLEngineImpl.java (<init>): remove debug logging. * gnu/javax/net/ssl/provider/ServerDHParams.java (<init>): duplicate and order the buffer. * gnu/javax/crypto/RSACipherImpl.java (doFinal): allow short input. (rsaDecrypt): ensure there's a leading zero. * gnu/javax/net/ssl/provider/EmptyExchangeKeys.java: new file.
Diffstat (limited to 'gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java')
-rw-r--r--gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java b/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java
index 2cc42929c..edc3ac259 100644
--- a/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java
+++ b/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java
@@ -38,6 +38,9 @@ exception statement from your version. */
package gnu.javax.net.ssl.provider;
+import gnu.classpath.debug.Component;
+import gnu.classpath.debug.SystemLogger;
+
import java.io.PrintWriter;
import java.io.StringWriter;
import java.nio.ByteBuffer;
@@ -78,7 +81,7 @@ public class ServerDHE_PSKParameters implements Constructed, Builder, ServerKeyE
buffer = ByteBuffer.allocate(2 + hintBuf.remaining() + dhParams.remaining());
buffer.putShort((short) hintBuf.remaining());
buffer.put(hintBuf);
- buffer.put(buffer);
+ buffer.put(dhParams);
}
public KeyExchangeAlgorithm algorithm()
@@ -108,8 +111,8 @@ public class ServerDHE_PSKParameters implements Constructed, Builder, ServerKeyE
public ServerDHParams params()
{
- return new ServerDHParams((ByteBuffer) buffer.duplicate().position
- (hintLength()).limit(buffer.capacity()));
+ return new ServerDHParams(((ByteBuffer) buffer.duplicate().position
+ (hintLength()).limit(buffer.capacity())).slice());
}
/* (non-Javadoc)