diff options
author | Casey Marshall <csm@gnu.org> | 2006-07-18 08:12:30 +0000 |
---|---|---|
committer | Casey Marshall <csm@gnu.org> | 2006-07-18 08:12:30 +0000 |
commit | ceca0e3930ab18748f1b02be3a6260c3daf4734f (patch) | |
tree | b13267f576e6612195406324e0f6b97086b17896 /gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java | |
parent | 6ce231a4863bc4073ddc7eaa36429f08a8dd7a53 (diff) | |
download | classpath-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.java | 9 |
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) |