RPC::XML Problem unter Perl

BiberBank

Betreff:

RPC::XML Problem unter Perl

 ·  Gepostet: 12.11.2015 - 12:28 Uhr  ·  #120489
Hallo Forum,

gegen den Grundsatz never Change a running System musste ich leider verstoßen und habe eine Virtuelle Debian-Maschine auf Wheezy 7.9 geupdatet. Von dieser Maschine aus greife ich via RPC::XML auf den Hibiscus-Server (2.7.0-nightly [Build: 911]) zu, der auf Debian Wheezy 7.9 läuft.

Dieses Verwaltungs-Script läuft von einem Debian Lenny 5.0 wunderbar, produziert jedoch von Wheezy 7.9 aus den Fehler.
Code
Error: RPC::XML::Client::send_request: HTTP server error: Can't connect to 192.168.10.161:8080


Der Port 8080 ist nach Telnet-Socket-Test erreichbar.

Via https://192.168.10.161:8080/hibiscus/ erhalte ich im Systemlog folgende Info,. die mir leider keienn Anhaltspunkt zur Problemlösung bietet.

Code
EXCEPTION 
javax.net.ssl.SSLException: java.security.ProviderException: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_DOMAIN_PARAMS_INVALID
  at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
  at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1886)
  at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1844)
  at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1827)
  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1346)
  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
  at org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:630)
  at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
Caused by: java.security.ProviderException: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_DOMAIN_PARAMS_INVALID
  at sun.security.pkcs11.P11KeyPairGenerator.generateKeyPair(P11KeyPairGenerator.java:323)
  at java.security.KeyPairGenerator$Delegate.generateKeyPair(KeyPairGenerator.java:687)
  at sun.security.ssl.ECDHCrypt.<init>(ECDHCrypt.java:63)
  at sun.security.ssl.ServerHandshaker.setupEphemeralECDHKeys(ServerHandshaker.java:1208)
  at sun.security.ssl.ServerHandshaker.trySetCipherSuite(ServerHandshaker.java:1062)
  at sun.security.ssl.ServerHandshaker.chooseCipherSuite(ServerHandshaker.java:889)
  at sun.security.ssl.ServerHandshaker.clientHello(ServerHandshaker.java:622)
  at sun.security.ssl.ServerHandshaker.processMessage(ServerHandshaker.java:167)
  at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
  at sun.security.ssl.Handshaker.process_record(Handshaker.java:804)
  at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016)
  at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
  ... 3 more
Caused by: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_DOMAIN_PARAMS_INVALID
  at sun.security.pkcs11.wrapper.PKCS11.C_GenerateKeyPair(Native Method)
  at sun.security.pkcs11.P11KeyPairGenerator.generateKeyPair(P11KeyPairGenerator.java:314)
  ... 15 more




Das Perl-Script lautet im Wesentlcihen

Code

use RPC::XML;    
use RPC::XML::Client;

$cli = RPC::XML::Client->new('https://192.168.10.161:8080/xmlrpc/' ); 
$cli->credentials("XML-RPC","admin","geheim");
$resp = $cli->send_request('hibiscus.xmlrpc.konto.list'); 



Kann wer helfen?

Gruß
Heiko Ambos

clio

Betreff:

Re: RPC::XML Problem unter Perl

 ·  Gepostet: 13.11.2015 - 15:57 Uhr  ·  #120524
Das deutet eher auf einen Java-Fehler hin. Ich würde eine aktuelle Version installieren.
Auch würde ich auf das aktuelle Stable updaten auch wenn Wheezy noch Sicherheitsupdates bekommt.

[....gegen den Grundsatz never Change a running System musste ich leider verstoßen...]
Das galt früher mal zu Zeiten von Mainframe, ich erinnere mich noch genau, aber heute eher nicht mehr...

_AK_

Betreff:

Re: RPC::XML Problem unter Perl

 ·  Gepostet: 13.11.2015 - 19:19 Uhr  ·  #120535
Welches Java ist im Einsatz?

Mit der Suche nach "pkcs11.wrapper.PKCS11Exception: CKR_DOMAIN_PARAMS_INVALID" findet sich einiges, z.b.
http://shickys.blogspot.de/201…sl-on.html
https://bugzilla.redhat.com/show_bug.cgi?id=1022017
https://bugs.launchpad.net/ubu…ug/1006776

Läuft immer darauf hinaus, in der Datei "java.security" (liegt z.b. unter "/etc/java-7-openjdk/security/" oder "/etc/java-6-openjdk/security/") die Zeile
Code
security.provider.9=sun.security.pkcs11.SunPKCS11 ${java.home}/lib/security/nss.cfg
auszukommentieren.

hibiscus

Betreff:

Re: RPC::XML Problem unter Perl

 ·  Gepostet: 16.11.2015 - 10:28 Uhr  ·  #120558

BiberBank

Betreff:

Re: RPC::XML Problem unter Perl

 ·  Gepostet: 19.11.2015 - 17:32 Uhr  ·  #120623
Super!

Aller herzlichen Dank.
Ich hatte mich dem Thema anders herum genähert und dem Client sagen wollen, dass er die Zertifikate unkritisch betrachten soll. Das hatte leider nicht funktioniert. Das Auskommentieren in der java.security alleine half auch nicht.

Aber in Kombination. :-)

Der entscheidende Perl-Code lautet:

Code

   $cli = RPC::XML::Client->new('https://192.168.10.161:443/xmlrpc/',
      useragent => [  ssl_opts => { verify_hostname => 0, SSL_verify_mode => SSL_VERIFY_NONE,  },  ],);



Euch ein herzliches Dankeschön. :-)

Gruß
Heiko