JAVA Toolkit
| home | contact




isasilk versions

IAIK-SSL 4.5 Release - 28. March 2013

Class or Package

B ug / C hange N ew F eature

Description and Examples

*

C

JDK 1.1.x is no longer supported. Supported Java(TM) versions are
1.2, 1.3, 1.4, 1.5 (5.0), 1.6 (6.0), 1.7 (7.0) and compatible.

ChainVerifier

C

If server name check has been disabled by calling

chainVerifier.setCheckServerName(false); the server certificate
name(s) is/are checked anyway if a critical ServerNameList
extension has been set for the SSLClientContext.

ClientHello, ClientHandshaker

C

According TLS spec always suggest maximum supported version in ClientHello (also during a renegotiation when already have negotiated a lower version in the first handshake) to avoid problems with imlementations (e.g. IIS) which checks the RSA premaster
secret against the suggested version of the initial handshake

demo.ecc.*

C

Adjusted to support the new IAIK ECCelerate(TM) library.

DefaultNoTrustChainVerifier

NF

Alternative ChainVerifier implementation that rejects any certificate
if no trust anchor is set.

HandShaker

C

If the server has sent an an "unrecognized_name" warning alert the
handshake will be continued if an un-critical ServerNameList extension has been set for the SSLClientContext.

InputRecord

NF, C

Constant-time unpadding and MAC calculation as countermeasure against the Lucky Thirteen timing attack on cipher suites using block ciphers in CBC mode.

KeyAndCert

C

No more serializable.

OutputRecord

C

Some performance improvements in TLS 1.1 explicit IV handling.

SecurityProvider

NF

Method generateMasterSecret() added.

SecurityProvider

NF

Method validateDHPublicKey() added.

SecurityProvider

C

Method getTLSServerName(X509Certificate) now does not return null, but tries to parse the server name from the commonName (cn) attribute -- if included -- of the subjectDN of the certificate; the SubjectAltName extension is not considered in the general (not provider specific) implementation.

SSLContext, SSLInputStream

NF

New method setInputStreamAvailableMode to allow to configure
the behaviour of the SSLInputStream.available method for the
case when the data has not been already decrypted by a preceding read() call.

SSLContext

NF

Now can be also configured via SSLContext.properties file.

SSLContext

NF

New method setUseRecordSplitting to en/disable 1/n-1 record splitting as countermeasure against the Duong/Rizzo BEAST (Browser Exploit Against SSL/TLS) CBC attack on SSL3.0, TLS1.0.

SSLContext

NF

New method addTrustedCertificates(KeyStore keyStore) to add trusted certificates from a KeyStore

SSLClientContext

NF

New method addClientCredentials(KeyStore keyStore, char[] password) to add client credentials from a KeyStore

SSLServerContext

NF

New method addServerCredentials(KeyStore keyStore, char[] password) to add server credentials from a KeyStore

SSLServerContext

NF

New method setIgnoreClientCipherSuitePreferenceOrder
allowing to select the active cipher suite by server preference order

w3c_http.jar

B,C,NF

check if client/server have sent "connection:close" for keep-alive behaviour; try to close the socket on stream closure for non keep-alive connections, too; reuse connections for POST requests, too; implementation of JDK 1.5 methods setFixedLengthStreamingMode , setChunkedStreamingMode added; parsing of timeout parameter of http Keep-Alive response header added

IAIK-SSL 4.4 Release - 22. February 2010

Class or Package

B ug / C hange N ew F eature

Description and Examples

*

C, NF

Implementation of the RenegotiationInfo extension according to RFC 5746 to provide secure renegotiation handling (see here )

ClientHandshaker

C

When resuming a session check if session version is compliant to SSLClientContext.allowedVersions (if they have changed)

ClienHello, ServerHello

C

Extensions (if set) are also send and parsed when SSLv3 is used (and not only for TLS as done so far)

Handshaker

C

Refresh SSLContext settings at the beginning of a renegotiation

SecurityProvider

NF

New method continueIfPeerDoesNotSupportSecureRenegotiation to decide whether to continue a handshake if the peer does not support secure renegotiation according to RFC 5746

SSLContext

NF

New methods setAllowLegacyRenegotiation , setUseNoRenegotiationWarnings ,

setAllowIdentityChangeDuringRenegotiation to configure the iSaSiLk renegotiation handling

SSLContext

C

Method addPSKCredentials : if already set, do not replace default PSK credentials

SSLContext

C

setExtensions : if extensions are set, they are also sent when SSLv3 is used; extensions are also parsed now when SSLv3 is used (not only for TLS as done do far)

SSLTransport

C

Session is no more closed when sending an alert with warning level (peer may decide whether it want to continue or close the session)

IAIK-SSL 4.31 Release - 06. November 2009

Class or Package

B ug / C hange N ew F eature

Description and Examples

ClientHandshaker

C

Final handshake messages are not packed together with first application data also when resuming a session (to avoid possible problems when using another transport protocol than TCP)

SSLContext

NF

New method setDisableRenegoation allowing to disable renegotiation at all to prevent renegotiation attacks (coumtermeasure until RenegotionInfo extension becomes approved). Before actually disabling renegotiation make sure that it is not required by your application!

IAIK-SSL 4.3 Release - 28. September 2009

Class or Package

B ug / C hange N ew F eature

Description and Examples

*

NF

Support for Camellia cipher suites according to RFC 4132 added.

*

C

Where possible Hashtables are replaced by HashMaps to increase
access performance in multithreaded environments; for
JDK 1.1.x a new jdk11x_update.jar version must be used

ClientHandshaker

C

ClientHello debugging contains remote peer name and port.

ChainVerifier

NF

verifyChain: check that different consecutive certificates do not have the same signature value (countermeasure against preimage attacks on the signature hash algorithm)

IAIK-SSL 4.2 Release - 23. December 2008

Class or Package

B ug / C hange N ew F eature

Description and Examples

*

NF

Support for elliptic curve cipher suites according to RFC 4492 (Named Curves) added.

*

NF

Handshalke performance improvements by packaging handshake
messages and send them together, if possible; configurable via
SSLContext

*

C

Reorganized debugging to improve performance in non-debug mode.
Client/ServerHello debugging contains remote peer address.
KeyExchange debugging contains information about the key, if included.

demo.ecc.*

NF

ECC cipher suite demos

ClientHandshaker

C

Fixed DH client authentication only allowed for DH_ cipher suites

ClientHandshaker

B

Resume, rnegotiate: set max version to active version from previous session

IaikProvider

NF

If used with the unltd version of IAIK-JCE 3.17 or later, iSaSiLk can be used with unlimited
strength cryptography even if only the default jurisdiction policy files are
installed

IaikEccProvider

NF

iSaSiLk SecurityProvider for supporting ECC cipher suites according to RFC 4492:

SecurityProvider.setSecurityProvider(new IaikEccProvider());

SecurityProvider

NF, C

New methods for ECC cipher suite support; implemented by IaikEccProvider

ServerHandshaker

C

Fixed DH client authentication only allowed for DH_ cipher suites

SSLContext

NF

New methods setDoNotPackHandshakeMessages ,
getDoNotPackHandshakeMessages allowing to switch
packaging of handshake messages on/off (by default handshake messages
are packaged together if possible)

SupportedEllipticCurves

NF

Implementation of the elliptic_curves TLS extension as specified by RFC 4492:

// create extension list ExtensionList extensions = new ExtensionList(); // add SupportedEllipticCurves extension SupportedEllipticCurves supportedEllipticCurves = new SupportedEllipticCurves(); extensions.addExtension(supportedEllipticCurves); // enable exensions sslContext.setExtensions(extensions);

SupportedPointFormats

NF

Implementation of the ec_point_formats TLS extension as specified by RFC 4492:

// create extension list ExtensionList extensions = new ExtensionList(); // add SupportedPointFormats extension SupportedPointFormats supportedPointFormats = new SupportedPointFormats(); extensions.addExtension(supportedPointFormats); // enable exensions sslContext.setExtensions(extensions);

IAIK-SSL 4.1 Release - 21. December 2007

Class or Package

B ug / C hange N ew F eature

Description and Examples

*

NF, C

Support for TLS 1.1 added; by default SSL 3.0, TLS 1.0 and TLS 1.1 are
enabled; TLS 1.1 can be selected via SSLContext.VERSION_TLS11

CipherSuite

NF

Support for PSK cipher suites with NULL encryption according to RFC 4785

SessionTicket

C

Adapted to RFC 4507 successor draft-salowey-tls-rfc4507bis-01.txt which
simply puts the ticket into the extension_data field since done so by
most applications; SHA-256 used for HMAC ticket protection.

SessionTicket

B

Server only sends SessionTicket extension if client has presented
one; server-sent SessionTicket empty in any case

SSLClientContext

NF, C

New method setUseMaxVersionForRSAPremasterSecret to
decide whether to send the maximum client version (from the ClientHello)
within the RSA premaster secret or do send the active negotiated version. The
protocol requires to send the maximum client version, but many applications
send the active version. iSaSiLk 4.1 by default sends the maximum client
version (versions prior 4.1 have sent the active version).

SSLContext

C

TLS 1.1: set/getCacheTerminatedSessions different
default behaviour between TLS 1.1 and versions prior TLS 1.1.
Since TLS 1.1 does no more require to invalidate incorrectly
terminated sessions they are cached by default when TLS 1.1
is used.

SSLContext

NF

New method setSendRecordOverflowAlert to decide
if the handshake shall be aborted and a record_overflow
shall be sent if a record is received with exceeds the maximum
allowed fragment length, or if the internal buffer shall be
automatically enlarged and the handshake shall be continued

SSLContext

NF

TLS 1.1: Method updateCipherSuites disables exportable
cipher suites if the SSLContext has been configured to
support TLS 1.1 only (TLS 1.1 disallows the use of
exportable cipher suites)

SSLServeContext

NF

New method setCheckVersionInRSAPremasterSecret to
decide whether to check version number sent within the RSA
premaster secret. The protocol requires to send the maximum client
version, but many applications send the active negotiated version,
thus iSaSiLk by default does not check the version.

SSLServerContext

C

Method clone clones server credential
repository

w3c_http.jar

C

Adapted to most recent Jigsaw version, 2.2.6.

IAIK-SSL 4.0 Release - 06. March 2007

Class or Package

B ug / C hange N ew F eature

Description and Examples

ChainVerifier

NF

New method setCacheSize allowing to
limit the size of the cert cache

CipherSuite

NF

Method isAvailable now also
inlcudes policy key size limitations checks

CipherSuite

NF

Added static TLS_ variables
for AES cipher suites (synonymical to their
SSL_ equivalents

ClientHandShaker

C

Local session is invalidated if server has refused a resume request

ExtendedPrintWriter

NF

Extended PrintWriter implementation allowing application to explicitly specify the
line break to be used (CRLF or LF)

Extension,
ExtensionList,
CertificateStatusRequest,
ClientCertificateURL,
MaximumFragmentLength,
ServerNameList,
TruncatedHMAC,
TrustedAuthorities

NF

Support for TLS extensions according to RFC 3546;
Implementations for all standard extensions
status_request , client_certificate_url ,
max_fragment_length , server_name ,
truncated_hmac , trusted_authorities

KeyAndCertURL

NF

Client credentials to be used with the
client_certificate_url extension

OCSPCertStatusChainVerifier

NF

Client-side ChainVerifier to validate OCSP responses
sent by the server in return to a status_request
extension

OutputRecord

C

Record fragmentation also supported during handshake

PreSharedKey, PCSKCredential, PSKManager,...

NF

Support for all pre-shared key (PSK) cipher suites
defined by RFC 4279

SessionManager

NF

New method setCacheSizeLimit allowing
to limit the size of the session cache

SessionTicket

NF

Implementation of the session_ticket extension
according to RFC 4507 (Session Resumption without Server-Side
State)

SSLContext,
SSLClientContext,
SSLServerContext

NF

Additional constructors to allow to supply the cipher suites
already when creating the SSLContext; may be used for applets
to avoid reloading attemps of missing classes (e.g. IDEA)
when checking if enabled cipher suite algorithms are supported

SSLContext

NF

New method setDoNotSendServerCloseNotify allowing to tell
the server not to send a close_notify alert message on shutdown.
Some versions of MSIE may not be able to properly deal with close_notify
alert messages; to avoid such problems a server application may decide to not
send a close_notify at shutdown. However, please be aware that not sending a
close_notify may make the client vulnerable for truncation attacks.

SSLException

NF

New methods getAlertCode and getAlertDescription
allowing to query for alert codes and alert descriptions

SSLCertificateException,
SSLCertificateRuntimeException

NF

New exceptions extended from SSLException; ChainVerifier.verifyChain
may throw a SSLRuntimeException which may wrap a certificate related
problem that is propageted through an CertificateException

Utils

B

fixed getASCIIWriter to always write a CRLF instead of platfrom
dependent linefeed

Utils

B

Method proxyConnext supports proxy authentication and
does not use a proxy for host that have been classified as
"https.nonProxyHosts"

JSSEWrapper

NF

Adapted to work with JDK versions >= 1.5 where it is allowed
to plug-in JSSE providers again

w3c_http.jar

C

HTTPS library adapted to most recent Jigsaw version (2.2.5);
several fixes and improvements

 

 
print    tip a friend
back to previous page back  |  top to the top of the page