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.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
|