Buggy code:
public class JsseSSLManager extends SSLManager { private static final Logger log = LoggingManager . getLoggerForClass ( ) ; private static final String HTTPS = "https" ; private static final String DEFAULT_SSL_PROTOCOL = JMeterUtils . getPropDefault ( "https.default.protocol" , "TLS" ) ; private static final boolean SHARED_SESSION_CONTEXT = JMeterUtils . getPropDefault ( "https.sessioncontext.shared" , false ) ; private static final int cps ; private SecureRandom rand ; private Provider pro = null ; private SSLContext defaultContext ; private ThreadLocal threadlocal ; public JsseSSLManager ( Provider provider ) { } public void setContext ( HttpURLConnection conn ) { } protected final void setProvider ( Provider p ) { } public SSLContext getContext ( ) throws GeneralSecurityException { } public void resetContext ( ) { } private SSLContext createContext ( ) throws GeneralSecurityException { SSLContext context ; if ( ( pro ) != null ) { context = SSLContext . getInstance ( JsseSSLManager . DEFAULT_SSL_PROTOCOL , pro ) ; } else { context = SSLContext . getInstance ( JsseSSLManager . DEFAULT_SSL_PROTOCOL ) ; } KeyManagerFactory managerFactory = KeyManagerFactory . getInstance ( KeyManagerFactory . getDefaultAlgorithm ( ) ) ; JmeterKeyStore keys = this . getKeyStore ( ) ; <START_BUG> managerFactory . init ( null , this . defaultpw . toCharArray ( ) ) ; <END_BUG> KeyManager [ ] managers = managerFactory . getKeyManagers ( ) ; JsseSSLManager . log . debug ( keys . getClass ( ) . toString ( ) ) ; for ( int i = 0 ; i < ( managers . length ) ; i ++ ) { if ( ( managers [ i ] ) instanceof X509KeyManager ) { X509KeyManager manager = ( ( X509KeyManager ) ( managers [ i ] ) ) ; managers [ i ] = new JsseSSLManager . WrappedX509KeyManager ( manager , keys ) ; } } TrustManagerFactory tmfactory = TrustManagerFactory . getInstance ( TrustManagerFactory . getDefaultAlgorithm ( ) ) ; tmfactory . init ( this . getTrustStore ( ) ) ; TrustManager [ ] trustmanagers = tmfactory . getTrustManagers ( ) ; for ( int i = 0 ; i < ( trustmanagers . length ) ; i ++ ) { if ( ( trustmanagers [ i ] ) instanceof X509TrustManager ) { trustmanagers [ i ] = new CustomX509TrustManager ( ( ( X509TrustManager ) ( trustmanagers [ i ] ) ) ) ; } } context . init ( managers , trustmanagers , this . rand ) ; if ( JsseSSLManager . log . isDebugEnabled ( ) ) { String [ ] dCiphers = context . getSocketFactory ( ) . getDefaultCipherSuites ( ) ; String [ ] sCiphers = context . getSocketFactory ( ) . getSupportedCipherSuites ( ) ; int len = ( ( dCiphers . length ) > ( sCiphers . length ) ) ? dCiphers . length : sCiphers . length ; for ( int i = 0 ; i < len ; i ++ ) { if ( i < ( dCiphers . length ) ) { JsseSSLManager . log . debug ( ( "Default<seq2seq4repair_space>Cipher:<seq2seq4repair_space>" + ( dCiphers [ i ] ) ) ) ; } if ( i < ( sCiphers . length ) ) { JsseSSLManager . log . debug ( ( "Supported<seq2seq4repair_space>Cipher:<seq2seq4repair_space>" + ( sCiphers [ i ] ) ) ) ; } } } return context ; } private static class WrappedX509KeyManager implements X509KeyManager { private final X509KeyManager manager ; private final JmeterKeyStore store ; public WrappedX509KeyManager ( X509KeyManager parent , JmeterKeyStore ks ) { } public String [ ] getClientAliases ( String keyType , Principal [ ] issuers ) { } public String [ ] getServerAliases ( String keyType , Principal [ ] issuers ) { } public X509Certificate [ ] getCertificateChain ( String alias ) { } public PrivateKey getPrivateKey ( String alias ) { } public String chooseClientAlias ( String [ ] keyType , Principal [ ] issuers , Socket socket ) { } public String chooseServerAlias ( String arg0 , Principal [ ] arg1 , Socket arg2 ) { } } }

Fix:
managerFactory . init ( null , ( ( defaultpw ) == null ? new char [ ] { } : defaultpw . toCharArray ( ) ) ) ;