From: <Dar...@ai...> - 2004-11-12 18:03:33
|
Hi, I`m currently implementing a simple XML messaging server to be used to emulate external services for testing/development. I initally started using the BaseHttpServer ,which looks perfect for the job, but this doesn`t appear to support SSL. Therefore is my only option to use Java SSL api`s or is there another alternative where I can use one of the SocketServer frameworks. I`m new to Jython so any help or links to tutorials would be much appreciated. Thanks Darran ********************************************************************** The AirMiles Travel Company is a trading name of AirMiles Travel Promotions Ltd Registered Office: Astral Towers, Betts Way, London Road, Crawley West Sussex RH10 9XY Registered No: 2260073 England and Wales This Email and any attachments are CONFIDENTIAL and may contain legally privileged information. If you are not the intended recipient of this Email message, please telephone or Email us immediately, delete this message from your system and do not read, copy, distribute, disclose or otherwise use this Email message and any attachments. Although The AirMiles Travel Company believes this Email and any attachments to be free of any virus or other defect which may affect your computer, it is the responsibility of the recipient to ensure that it is virus free and The AirMiles Travel Company does not accept any responsibility for any loss or damage arising in any way from its use. ********************************************************************** |
From: Philipp W. <pwa...@pr...> - 2007-02-06 14:28:15
|
Hi all, I'm quite new to Jython, so please bear with me if this has been discussed already somewhere.. I'm trying to do a HTTPS Post with Client Authentication on a Windows Server, but I have no SSL available it seems.. My code: import httplib conn =3D httplib.HTTPSConnection(HOSTNAME,key_file =3D = KEYFILE,cert_file =3D CERTFILE) conn.putrequest('POST', '/invoke/ATR.B2B.Inbound.IDOC/ORDERS') conn.putrequest('Content-Type', 'application/x-www-form-urlencoded') conn.endheaders() conn.send(partbodygoesinhere) response =3D conn.getresponse() print response.read() But when executed I get: Traceback (innermost last): File "<string>", line 1, in ? File "<string>", line 28, in service File "C:\Sonic70\Workbench7.0\eclipse\python_home\Lib\httplib.py", line 437, in putrequest File "C:\Sonic70\Workbench7.0\eclipse\python_home\Lib\httplib.py", line 379, in send File "C:\Sonic70\Workbench7.0\eclipse\python_home\Lib\httplib.py", line 639, in connect AttributeError: module 'socket' has no attribute 'ssl' Anybody got a solution? How can I compile a SSL module for jython? All suggestions are welcome :) Thanks in advance, Phil |
From: James R E. <ea...@ba...> - 2007-02-06 14:45:15
|
Hi Philipp, The Python SSL libraries use a C implementation that would be non- trivial to port to Jython. Furthermore, it is a longstanding bug that the Python SSL implementation performs no certificate validation. That's like using an armored truck to deposit your paycheck to the bank, but never actually verifying that the guy you hand the check to is really the right guy. Java, however, gets it right. Can you use the Java libraries instead? Here's what I do (in Jython 2.1): Cheers! James from com.sun.net.ssl.HttpsURLConnection import * #... System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol") loginURL = URL(service.getLoginURL()) conn = loginURL.openConnection() self.status('Talking to %s...' % (loginURL)) referer = service.getReferer() if referer is not None: conn.setRequestProperty('Referer', referer) # We need both output and input conn.setDoInput(True) conn.setDoOutput(True) conn.setUseCaches(False) # Get the password password = service.getPassword() if password is None: password = self.getPassword('%s password' % (service.name)) elif password == '__useKeychain__': password = self.getPasswordFromKeychain(service.name, service.username) out = PrintWriter(conn.getOutputStream()) out.print('username=%s&password=%s' % ( URLEncoder.encode(service.username), URLEncoder.encode(password))) for opt in service.options: out.print('&%s' % (opt)) # out.print('&foo=bar') # workaround for mower bug out.flush() out.close() On Feb 6, 2007, at 09:28 , Philipp Walther wrote: > Hi all, > > I'm quite new to Jython, so please bear with me if this has been > discussed already somewhere.. > > I'm trying to do a HTTPS Post with Client Authentication on a Windows > Server, but I have > no SSL available it seems.. > > My code: > import httplib > conn = httplib.HTTPSConnection(HOSTNAME,key_file = > KEYFILE,cert_file > = CERTFILE) > conn.putrequest('POST', '/invoke/ATR.B2B.Inbound.IDOC/ORDERS') > conn.putrequest('Content-Type', 'application/x-www-form- > urlencoded') > conn.endheaders() > conn.send(partbodygoesinhere) > response = conn.getresponse() > print response.read() > > > But when executed I get: > Traceback (innermost last): > File "<string>", line 1, in ? > File "<string>", line 28, in service > File "C:\Sonic70\Workbench7.0\eclipse\python_home\Lib\httplib.py", > line 437, in putrequest > File "C:\Sonic70\Workbench7.0\eclipse\python_home\Lib\httplib.py", > line 379, in send > File "C:\Sonic70\Workbench7.0\eclipse\python_home\Lib\httplib.py", > line 639, in connect > AttributeError: module 'socket' has no attribute 'ssl' > > > Anybody got a solution? How can I compile a SSL module for jython? All > suggestions are welcome :) > > Thanks in advance, > > Phil > > ---------------------------------------------------------------------- > --- > Using Tomcat but need to do more? Need to support web services, > security? > Get stuff done quickly with pre-integrated technology to make your > job easier. > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel? > cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users > -- It's dead, Jim. |
From: Luca C. <cas...@li...> - 2007-02-07 16:42:40
|
How do I implement events handling in jython??? :confused: I need I have a function "waiting in background" for an event to be triggered. Can it be done from console, or should I write a script? In other words, I want to port such a source to Jython: import javax.telephony.*; import javax.telephony.events.*; /* * The MyInCallObserver class implements the CallObserver and * recieves all Call-related events. */ public class MyInCallObserver implements CallObserver { public void callChangedEvent(CallEv[] evlist) { [....] [handle event] } } ---------------------------------------------------- import javax.telephony.*; import javax.telephony.events.*; import MyInCallObserver; [....] try { Terminal terminal =3D myprovider.getTerminal("1234567890"); terminal.addCallObserver(new MyInCallObserver()); } catch (Exception excp) { System.out.println("Can=92t get Terminal: " + excp.toString()); System.exit(0); } } |
From: Jeff E. <jem...@fr...> - 2007-02-07 18:02:59
|
see http://www.jython.org/Project/userguide.html#a-short-example Direct translation: # imports omitted class MyInCallObserver(CallObserver): def callChangedEvent(self, evList): # handle event ... try: terminal =3D myprovider.getTerminal('1234567890') terminal.addCallObserver(MyInCallObserver()) except java.lang.Exception, ex: print "Can't get terminal " + ex.toString() System.exit(0) Or try the bean events technique (http://www.jython.org/Project/userguide.html#event-properties): def handleCall(evList): # handleEvent try: terminal =3D myprovider.getTerminal('1234567890') terminal.callChangedEvent=3DhandleCall except java.lang.Exception, ex: print "Can't get terminal " + ex.toString() System.exit(0) Luca Cassioli wrote: > How do I implement events handling in jython??? :confused:=20 > I need I have a function "waiting in background" for an event to be > triggered. > Can it be done from console, or should I write a script? >=20 > In other words, I want to port such a source to Jython: >=20 > import javax.telephony.*; > import javax.telephony.events.*; > /* > * The MyInCallObserver class implements the CallObserver and > * recieves all Call-related events. > */ > public class MyInCallObserver implements CallObserver { > public void callChangedEvent(CallEv[] evlist) { > [....] > [handle event] > } > } > ---------------------------------------------------- > import javax.telephony.*; > import javax.telephony.events.*; > import MyInCallObserver; > [....] > try { > Terminal terminal =3D myprovider.getTerminal("1234567890"); > terminal.addCallObserver(new MyInCallObserver()); > } catch (Exception excp) { > System.out.println("Can=92t get Terminal: " + excp.toString()); > System.exit(0); > } > } >=20 >=20 >=20 >=20 > -----------------------------------------------------------------------= - >=20 > -----------------------------------------------------------------------= -- > Using Tomcat but need to do more? Need to support web services, securit= y? > Get stuff done quickly with pre-integrated technology to make your job = easier. > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geron= imo > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat= =3D121642 >=20 >=20 > -----------------------------------------------------------------------= - >=20 > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users |
From: Luca C. <cas...@li...> - 2007-02-08 19:49:29
|
I am not able to compile some simple sources using jythonc. I think it's a matter of improper JDK installation, as I have SEVERAL jvm and jre installed... At the beginning I obtained "error -2", and I found that the classpath seen by jythonc was this: .;C:\Programmi\internet\Java\j2sdk1.4.2_10\lib;d:\PROGRA~1\internet\JAVAME~ 1\lib\sound.jar;d:\PROGRA~1\internet\JAVAME~1\lib\jmf.jar;d:\PROGRA~1\intern et\JAVAME~1\lib; where JAVAME~1 is for "JavaMediaFramework", which is NOT a JDK. So I manually edited the registry to: c:\programmi\internet\java\JRE1.2.2-001(9210)\lib\ext\QTJava.zip with no luck (obviously). Then I reinstalled from scratch JDK 1.1.8 , but I don't see any change in classpath, which REMAINS the "JavaMediaFramework" one! But I changed all environment variables, global and user-related!! How can I know which is the proper JVM/JRE configuration to be able to run javac/jythonc? Current configuration allows proper running of JAR files. Typical error: Compiling .java to .class... Compiling with args: ['C:\\Programmi\\internet\\Java\\jre1.5.0_06\\bin\\javac', '-classpath', 'D:\\programmi\\programmazione\\Jython\\jython.jar;D:\\p rogrammi\\programmazione\\jdk1.1.8;.\\jpywork;;D:\\programmi\\programmazione \\Jython\\Tools\\jythonc;D:\\programmi\\programmazione\\Jython\\.;D:\\prog rammi\\programmazione\\Jython\\Lib;D:\\programmi\\programmazione\\Jython', '.\\jpywork\\jython03.java'] 1 java.io.IOException: CreateProcess: C:\Programmi\internet\Java\jre1.5.0_06\bin\javac -classpath D:\programmi\programmazione\Jython\jython.jar;D:\pr ogrammi\programmazione\jdk1.1.8;.\jpywork;;D:\programmi\programmazione\Jytho n\Tools\jythonc;D:\programmi\programmazione\Jython\.;D:\programmi\programm azione\Jython\Lib;D:\programmi\programmazione\Jython .\jpywork\jython03.java error=2 Consider using the -C/--compiler command line switch, or setting the property python.jythonc.compiler in the registry. ERROR DURING JAVA COMPILATION... EXITING |
From: Jeff G. <ga...@il...> - 2013-07-12 21:05:25
|
I've hit another snag: There is no SSL support in jython 2.7. Since I do security work, that is a real show-stopper -- we *only* do SSL/TLS connections. Are there plans to enable it? Just even wrapping the apache commons classes would be fine. I definitely do not want python's badly broken SSL implementation ported when Java works fine. Failing that, does anyone have suggestions on how to get around this? Thanks |
From: Brandon P. <bp...@gm...> - 2013-07-12 21:47:11
|
What do you mean "There is no SSL support"? SSL sockets should work just fine (although I guess I haven't tested in 2.7, but 2.5 it works) Also remember that if you do want to just use something like apache commons for sockets that is perfectly fine. Add the jars to the path and import the classes you want to use and you should be set. But yeah, some extra info on what exactly you are trying to do would be helpful :) -Brandon On Fri, Jul 12, 2013 at 2:52 PM, Jeff Gaynor <ga...@il...> wrote: > I've hit another snag: There is no SSL support in jython 2.7. Since I do > security work, that is a real show-stopper -- we *only* do SSL/TLS > connections. > > Are there plans to enable it? Just even wrapping the apache commons > classes would be fine. I definitely do not want python's badly broken > SSL implementation ported when Java works fine. > > Failing that, does anyone have suggestions on how to get around this? > > Thanks > > > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics > Get end-to-end visibility with application monitoring from AppDynamics > Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users > |
From: Jeff E. <jem...@fr...> - 2013-07-12 21:50:50
|
One of the beauties of Jython is that you can directly use any Java class available to you, albeit at a cost of C-Python incompatibility, so you can use the commons classes now. On 7/12/2013 2:52 PM, Jeff Gaynor wrote: > I've hit another snag: There is no SSL support in jython 2.7. Since I do > security work, that is a real show-stopper -- we *only* do SSL/TLS > connections. > > Are there plans to enable it? Just even wrapping the apache commons > classes would be fine. I definitely do not want python's badly broken > SSL implementation ported when Java works fine. > > Failing that, does anyone have suggestions on how to get around this? > > Thanks > > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics > Get end-to-end visibility with application monitoring from AppDynamics > Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users |
From: Jeff G. <ga...@il...> - 2013-07-15 18:45:32
|
I am writing a set of security tools that use *existing* python projects. This project uses libraries (e.g. requests) that in turn use the built-in SSL and dies when they cannot find it. I know all about Java and SSL and rewriting the entire requests python module, e.g., is not possible, obviously. So does anyone have a plan for supporting the built-in python 2.7 SSL APIs or not? Thanks On 07/12/2013 04:46 PM, Brandon Pedersen wrote: > What do you mean "There is no SSL support"? SSL sockets should work > just fine (although I guess I haven't tested in 2.7, but 2.5 it works) > > Also remember that if you do want to just use something like apache > commons for sockets that is perfectly fine. Add the jars to the path > and import the classes you want to use and you should be set. > > But yeah, some extra info on what exactly you are trying to do would > be helpful :) > > -Brandon > > > On Fri, Jul 12, 2013 at 2:52 PM, Jeff Gaynor <ga...@il... > <mailto:ga...@il...>> wrote: > > I've hit another snag: There is no SSL support in jython 2.7. > Since I do > security work, that is a real show-stopper -- we *only* do SSL/TLS > connections. > > Are there plans to enable it? Just even wrapping the apache commons > classes would be fine. I definitely do not want python's badly broken > SSL implementation ported when Java works fine. > > Failing that, does anyone have suggestions on how to get around this? > > Thanks > > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics > Get end-to-end visibility with application monitoring from AppDynamics > Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > _______________________________________________ > Jython-users mailing list > Jyt...@li... > <mailto:Jyt...@li...> > https://lists.sourceforge.net/lists/listinfo/jython-users > > |
From: Jim B. <jb...@zy...> - 2013-07-15 19:44:25
|
Jeff, tl;dr - plan to focus on client side SSL sockets first, so as to support pip, requests, and other client libraries. My expectation is that an example like the following use of ssl.wrap_socket should work: http://docs.python.org/2/library/ssl.html#client-side-operation This code snippet, which does *not* work on Jython currently, uses a mode of operation similar to what pip now requires: blocking client sockets, wrapped with SSL. Instead this code snippet fails because of an uninitialized underlying Java socket in Jython's socket module. I'm just trying to get my head around this code, but it seems that the design, so as to support nonblocking sockets, does not expect initializations to be completed; but in this particular case, this is required. So some debugging required. This bug is almost certainly related to why pip currently fails when it's using SSL, and such client support seems to be the most important target for SSL support. It would also help support requests over SSL. So your use cases should then work. These are also *my* use cases for Jython, so it's important to me to get this to work :) Digging beyond this set of cases, there's a note by Alan Kennedy on the possibility of other modes of SSL support, such as with server sockets see http://wiki.python.org/jython/NewSocketModule#SSL_Support; note this was written maybe prior to when ssl was added to CPython 2.6. At this point, there's a clear API, just a need to implement it. I'm not certain who would work on this however. But while client compatibility is important for tools like pip, if I were implementing something high performance in Jython that required SSL server sockets, I would stick with using the underlying Java ecosystem. Maybe use Netty and its SSL support. In particular, a Twisted reactor using that would make more sense, much like other reactors for say libevent. Hope that helps! - Jim On Mon, Jul 15, 2013 at 11:45 AM, Jeff Gaynor <ga...@il...> wrote: > I am writing a set of security tools that use *existing* python > projects. This project uses libraries (e.g. requests) that in turn use the > built-in SSL and dies when they cannot find it. I know all about Java and > SSL and rewriting the entire requests python module, e.g., is not possible, > obviously. > > So does anyone have a plan for supporting the built-in python 2.7 SSL APIs > or not? > > Thanks > > > On 07/12/2013 04:46 PM, Brandon Pedersen wrote: > > What do you mean "There is no SSL support"? SSL sockets should work just > fine (although I guess I haven't tested in 2.7, but 2.5 it works) > > Also remember that if you do want to just use something like apache > commons for sockets that is perfectly fine. Add the jars to the path and > import the classes you want to use and you should be set. > > But yeah, some extra info on what exactly you are trying to do would be > helpful :) > > -Brandon > > > On Fri, Jul 12, 2013 at 2:52 PM, Jeff Gaynor <ga...@il...> wrote: > >> I've hit another snag: There is no SSL support in jython 2.7. Since I do >> security work, that is a real show-stopper -- we *only* do SSL/TLS >> connections. >> >> Are there plans to enable it? Just even wrapping the apache commons >> classes would be fine. I definitely do not want python's badly broken >> SSL implementation ported when Java works fine. >> >> Failing that, does anyone have suggestions on how to get around this? >> >> Thanks >> >> >> ------------------------------------------------------------------------------ >> See everything from the browser to the database with AppDynamics >> Get end-to-end visibility with application monitoring from AppDynamics >> Isolate bottlenecks and diagnose root cause in seconds. >> Start your free trial of AppDynamics Pro today! >> >> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk >> _______________________________________________ >> Jython-users mailing list >> Jyt...@li... >> https://lists.sourceforge.net/lists/listinfo/jython-users >> > > > > > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics > Get end-to-end visibility with application monitoring from AppDynamics > Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users > > |
From: Jeff G. <ga...@il...> - 2013-07-17 16:55:46
|
On 07/15/2013 02:43 PM, Jim Baker wrote: > Jeff, <snip/> > These are also *my* use cases for Jython, so it's important to me to > get this to work :) Timeline? If this is open ended I'll have to abandon using Jython. If this is possible to get working within the next month then I can probably work around it in the short term. Using jython would solve a lot of issues for us if it works. Jeff |
From: Alan K. <jyt...@xh...> - 2013-07-17 17:05:23
|
[Jeff] > So does anyone have a plan for supporting the built-in python 2.7 SSL APIs or not? I have the beginnings of an implementation of the SSL module on my disk. But it's not going to be ready soon. Certainly not within a month. But if you're a security researcher, I think you should be using native java crypto support anyway, like BouncyCastle, etc, which is far superior to anything on offer in the python world. My implementation of the SSL module is only going to focus on running cpython software in jython, NOT on being a best-of-breed crypto toolkit. Lastly, you mention that you're using requests. Have you tried it with jython 2.5? It should work, or be very close to working, since jython's 2.5 client side SSL support is complete. The SSL module was introduced into cpython 2.6 because the *server* side SSL support needed a home. That's the only thing that's new. If you're using the requests module, then you only need the client side support. Alan. |
From: Jeff G. <ga...@il...> - 2013-07-17 20:37:57
|
On 07/17/2013 12:05 PM, Alan Kennedy wrote: > [Jeff] > > So does anyone have a plan for supporting the built-in python 2.7 > SSL APIs or not? > > I have the beginnings of an implementation of the SSL module on my disk. > > But it's not going to be ready soon. Certainly not within a month. > > But if you're a security researcher, I think you should be using > native java crypto support anyway, like BouncyCastle, etc, which is > far superior to anything on offer in the python world. We would like to take an Open ID Connect implementation (pyoidc) that is under development and use that since there is no really useful Java version available. This would also simplify our python support. As such, we have to deal with dependency issues in this library and that means SSL must work for requests. I am writing a wrapper to partially replace M2Crypto and yes I will back it with java crypto and BC classes. > > Lastly, you mention that you're using requests. Have you tried it with > jython 2.5? It should work, or be very close to working, since > jython's 2.5 client side SSL support is complete. > Pyoidc is written for 2.7 and is not, therefore installable under 2.5. Thanks for your reply! I'm thrilled with any suggestions I get. Jeff |