2012-05-01 14 views
3

ウェブアプリケーションのWeblogicのカスタムキーストア設定で設定されたIDキーストア(JKS)にアクセスしたいと思います。どのようにして、以下の環境プロパティに頼らずにweblogicに公開することができます:-Djavax.net.ssl.Keystore、-Djavax.net.ssl.KeystorePassword。私のアプリケーションは、Weblogic管理コンソールで設定されたキーストアにどのようにアクセスできますか?

答えて

2

次のコードを出発点として使用できます。

ノートのカップル:コードを実行

  • ユーザーはOracleSystemGroup
  • キーストアは、EJB仕様で推奨されていないファイルシステムからロードされると呼ばれるグループに属している必要があります。しかし、私はファイルの読み取りが安全に行えると思います。
  • キーストアのパスフレーズは、java.lang.Stringに含まれていますが、これはお勧めしません。

私はより良いアプローチを検討しています。私はIDストア内の証明書とキーにアクセスするためのサービスを提供するWebLogicサービスを探していました。 there is not oneと思われます。

InitialContext ic = new InitialContext(); 
MBeanServer server = (MBeanServer) ic.lookup("java:comp/env/jmx/runtime"); 

// Get access to server configuration 
ObjectName runtime = new ObjectName("com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean"); 
ObjectName serverConfig = (ObjectName) server.getAttribute(runtime, "ServerConfiguration"); 

/* Load identity store location and passphrase. 
* If e.g. Demo identity has been configured (in WL console) instead of 
* custom identity then the following does not work. 
*/ 

// Passphrase as clear text 
Object keyStorePassPhrase = server.getAttribute(serverConfig, "CustomIdentityKeyStorePassPhrase"); 
Object keyStoreFileName = server.getAttribute(serverConfig, "CustomIdentityKeyStoreFileName"); 

// Load keystore 
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); 
ks.load(new FileInputStream(keyStoreFileName.toString()), 
     keyStorePassPhrase.toCharArray()); 
関連する問題