1

Globus Tooklit から Java WS Core コンテナー バージョン 4.0.8 を起動しようとしています。コンテナーを開始する前に、.xml を使用してグリッド プロキシを作成する必要がありますgrid-proxy-init。この目的のために CERN 証明書を使用しています。また、CERN ルート CA と CERN 信頼認証局の証明書をダウンロードし、それらを信頼するように globus を構成しました。ただし、実行するとgrid-proxy-init、次のエラーが発生します。

Files used: 
  proxy     : /tmp/x509up_u501
  user key  : ~/.globus/userkey.pem
  user cert : ~/.globus/usercert.pem
Your identity: (correct identity)
Error: Wrong pass phrase
java.security.InvalidKeyException: Algorithm not supported.
    at org.globus.gsi.OpenSSLKey.readPEM(OpenSSLKey.java:169)
    at org.globus.gsi.OpenSSLKey.<init>(OpenSSLKey.java:105)
    at org.globus.gsi.bc.BouncyCastleOpenSSLKey.<init>(BouncyCastleOpenSSLKey.java:45)
    at org.globus.tools.DefaultProxyInit.loadKey(ProxyInit.java:608)
    at org.globus.tools.ProxyInit.createProxy(ProxyInit.java:204)
    at org.globus.tools.ProxyInit.main(ProxyInit.java:518)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.globus.bootstrap.BootstrapBase.launch(BootstrapBase.java:95)
    at org.globus.bootstrap.Bootstrap.main(Bootstrap.java:37)

私の CA 証明書は非標準の場所 (~/.globus/certificates) にあることに注意してください。を使ってみましX509_CERT_DIR=~/.globus/certificatesたが、だめでした。また、grid-proxy-init実際にはパスフレーズを要求しません。そのエラーが発生するだけです。これをさらにデバッグする方法がわかりません。進め方についてのアイデアをいただければ幸いです。また、globus が実際に私の CA 証明書を問題なく認識していることを確認したいと思います。ありがとう!

4

1 に答える 1

0

わかりましたので、問題が何であるかを理解しました。以下を使用して、証明書を PKCS から PEM に変換していました。

openssl pkcs12 -in cert.p12 -out usercert.pem -nokeys
openssl pkcs12 -in cert.p12 -out userkey.pem -nocerts -nodes

どうやら、これは証明書ファイルから秘密鍵を抽出するだけで、実際に PEM 形式に変換するわけではありません。そのためには、次のコマンドを使用する必要がありました。

openssl pkcs12 -in cert.p12 -nocerts -nodes|openssl rsa -out userkey.pem -des3

これにより、必要な形式で秘密鍵が出力され、現在は正常にgrid-proxy-init機能しています。

于 2013-08-02T13:08:18.207 に答える