private X509KeyManager loadCustomKeyManager ( String kmClass ) throws Exception { X509KeyManager km = null ; try { ClassLoader cl = AccessController . doPrivileged ( getCtxClassLoader ) ; if ( cl != null ) { try { km = ( X509KeyManager ) cl . loadClass ( kmClass ) . newInstance ( ) ; } catch ( Exception e ) { // no ffdc needed } } if ( km == null ) { km = ( X509KeyManager ) Class . forName ( kmClass ) . newInstance ( ) ; } return km ; } catch ( Exception e ) { FFDCFilter . processException ( e , getClass ( ) . getName ( ) , "loadCustomKeyManager" , this ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) Tr . debug ( tc , "Exception loading custom KeyManager." , new Object [ ] { e } ) ; Tr . error ( tc , "ssl.load.keymanager.error.CWPKI0021E" , new Object [ ] { kmClass , e . getMessage ( ) } ) ; throw e ; } }
this loads the KeyManager class if present