[Zope] XML-RPC over SSL

Holger Lehmann lehmann@catworkx.de
Wed, 2 May 2001 10:16:56 +0200


--------------Boundary-00=_8C8PXJ8TC4ZMFJ1R95T8
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi Petr,

use the attached xmlrpcauth.py file as follows:

---------------------------
import xmlrpcauth
import xmlrpclib
=20
mytransport =3D xmlrpcauth.BasicAuthTransport("username","password");
rpcserver   =3D xmlrpclib.Server("http://www.pythonware.com/products/xmlrpc/ (well they have 0.9.9 by now .=
=2E.)

It does not support https as of now but does basic user authentication (i=
n=20
the http header).
If you change the xmlrpcauth file to use a https-able lib instead of the=20
httlib imported at the very first line of the xmlrpcauth.py file:
---
import string, xmlrpclib, httplib=20
---
then you will be able to use ssl encrpyted http.

- Holger

Am Dienstag,  1. Mai 2001 20:19 schrieb Michel Pelletier:
> On 27 Apr 2001, Petr Knapek wrote:
> > Hi Zopists,
> > does anybody of you know how to do "subject" in Zope 2.3.0 (2.3.1) on
> > Linux Debian.
> >
> > I have already installed M2Crypto but do not know how to use it.  Whe=
n I
> > tried this in python:
> >
> > from M2Crypto import xmlrpclib2
> > s =3D xmlrpclib2.Server("https://uid:password@host/")
> > print s.index_html()
> >
> > this error is returned:
> > >>> print s.index_html()
> >
> > Traceback (innermost last):
> >   File "<stdin>", line 1, in ?
> >   File "/usr/lib/zope/lib/python/xmlrpclib.py", line 547, in __call__
> >     return self.__send(self.__name, args)
> >   File "/usr/lib/zope/lib/python/xmlrpclib.py", line 630, in __reques=
t
> >     request
> >   File "/usr/lib/zope/lib/python/xmlrpclib.py", line 560, in request
> >     h =3D httplib.HTTP(host)
> >   File "/usr/lib/python1.5/httplib.py", line 51, in __init__
> >     if host: self.connect(host, port)
> >   File "/usr/lib/python1.5/httplib.py", line 75, in connect
> >     raise socket.error, "nonnumeric port"
> > socket.error: nonnumeric port
> >
> >
> > Can anybody help me?
>
> xmlrpclib does not understand the uid:password@url syntax.  This is not
> how you do authentication with xmlrpclib, you need to subclass and crea=
te
> your own transport.  The new xmlrpclib should come with a transport tha=
t
> supports Basic authentication.  See the xmlrpclib sources or the xmlrpc=
lib
> mailing list for more info.
>
> -Michel
>
>
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )

--=20
-----------------------------------
catWorkX GmbH
Dipl.-Ing. Holger Lehmann
Stresemannstr. 364
22761 Hamburg
Tel: +49 (0700) catWorkX
Tel: +49 (40) 890 646-0
Fax: +49 (40) 890 646-66
mailto:lehmann@catworkx.de
http://www.catworkx.de
http://www.catbridge.de



--------------Boundary-00=_8C8PXJ8TC4ZMFJ1R95T8
Content-Type: text/x-java;
  charset="iso-8859-1";
  name="xmlrpcauth.py"
Content-Transfer-Encoding: base64
Content-Description: Basic Authentication Module for xmlrpc
Content-Disposition: attachment; filename="xmlrpcauth.py"

aW1wb3J0IHN0cmluZywgeG1scnBjbGliLCBodHRwbGliCmZyb20gYmFzZTY0IGltcG9ydCBlbmNv
ZGVzdHJpbmcKIApjbGFzcyBCYXNpY0F1dGhUcmFuc3BvcnQoeG1scnBjbGliLlRyYW5zcG9ydCk6
CiAgICBkZWYgX19pbml0X18oc2VsZiwgdXNlcm5hbWU9Tm9uZSwgcGFzc3dvcmQ9Tm9uZSk6CiAg
ICAgICAgc2VsZi51c2VybmFtZT11c2VybmFtZQogICAgICAgIHNlbGYucGFzc3dvcmQ9cGFzc3dv
cmQKIAogICAgZGVmIHJlcXVlc3Qoc2VsZiwgaG9zdCwgaGFuZGxlciwgcmVxdWVzdF9ib2R5KToK
ICAgICAgICAjIGlzc3VlIFhNTC1SUEMgcmVxdWVzdAogCiAgICAgICAgaCA9IGh0dHBsaWIuSFRU
UChob3N0KQogICAgICAgIGgucHV0cmVxdWVzdCgiUE9TVCIsIGhhbmRsZXIpCiAKICAgICAgICAj
IHJlcXVpcmVkIGJ5IEhUVFAvMS4xCiAgICAgICAgaC5wdXRoZWFkZXIoIkhvc3QiLCBob3N0KQog
CiAgICAgICAgIyByZXF1aXJlZCBieSBYTUwtUlBDCiAgICAgICAgaC5wdXRoZWFkZXIoIlVzZXIt
QWdlbnQiLCBzZWxmLnVzZXJfYWdlbnQpCiAgICAgICAgaC5wdXRoZWFkZXIoIkNvbnRlbnQtVHlw
ZSIsICJ0ZXh0L3htbCIpCiAgICAgICAgaC5wdXRoZWFkZXIoIkNvbnRlbnQtTGVuZ3RoIiwgc3Ry
KGxlbihyZXF1ZXN0X2JvZHkpKSkKIAogICAgICAgICMgYmFzaWMgYXV0aAogICAgICAgIGlmIHNl
bGYudXNlcm5hbWUgaXMgbm90IE5vbmUgYW5kIHNlbGYucGFzc3dvcmQgaXMgbm90IE5vbmU6CiAg
ICAgICAgICAgIGgucHV0aGVhZGVyKCJBVVRIT1JJWkFUSU9OIiwgIkJhc2ljICVzIiAlIHN0cmlu
Zy5yZXBsYWNlKAogICAgICAgICAgICAgICAgICAgIGVuY29kZXN0cmluZygiJXM6JXMiICUgKHNl
bGYudXNlcm5hbWUsIHNlbGYucGFzc3dvcmQpKSwKICAgICAgICAgICAgICAgICAgICAiXDAxMiIs
ICIiKSkKICAgICAgICBoLmVuZGhlYWRlcnMoKQogCiAgICAgICAgaWYgcmVxdWVzdF9ib2R5Ogog
ICAgICAgICAgICBoLnNlbmQocmVxdWVzdF9ib2R5KQogCiAgICAgICAgZXJyY29kZSwgZXJybXNn
LCBoZWFkZXJzID0gaC5nZXRyZXBseSgpCiAKICAgICAgICBpZiBlcnJjb2RlICE9IDIwMDoKICAg
ICAgICAgICAgcmFpc2UgeG1scnBjbGliLlByb3RvY29sRXJyb3IoCiAgICAgICAgICAgICAgICBo
b3N0ICsgaGFuZGxlciwKICAgICAgICAgICAgICAgIGVycmNvZGUsIGVycm1zZywKICAgICAgICAg
ICAgICAgIGhlYWRlcnMKICAgICAgICAgICAgICAgICkKIAogICAgICAgIHJldHVybiBzZWxmLnBh
cnNlX3Jlc3BvbnNlKGguZ2V0ZmlsZSgpKSAK

--------------Boundary-00=_8C8PXJ8TC4ZMFJ1R95T8--