<< ZeroMQ here we go | Home | ZeroMQ using Java >>

ZeroMQ C-API, PULLREQUEST and now JAVA!?

Still working on the ZeroMQ-Front. And I am still convinced, now that I finished most of the guide. Actually I did plan to use JeroMQ but this pure Java ZeroMQ-Port seems to not have implemented security,yet.

Therefore I switched to the jni-Binding of libzmq which have everything implemented but the security (CURVE) that I wanted to use. :D The source-code says:

                if (self.mechanism.equals("PLAIN")) {
                    self.username = request.popString();
                    self.password = request.popString();
                } else if (self.mechanism.equals("CURVE")) {
                    // TODO: Handle CURVE authentication
                } else if (self.mechanism.equals("GSSAPI")) {
                    self.principal = request.popString();
                }

Nothing that shocks me too much. I'm not afraid to make my hands dirty. Therefore my plan was to first try security using C and then look if it is too complicated to get this mapped via jni.

Well, I found a wonderful article that describes everything about CURVE-based security with ZeroMQ,but for API v2 which is of course not compatible to API v3. ;) Took me some time to port those examples to compile with the current version of CZMQ, which is a 'High-level C binding for ZMQ'. Actually I found those files from the article as examples in the CZMQ-Git-repository and made a pullrequest for this. Let's see, what they have to say ;)
EDIT: Funny thing, while writing they accepted the pullrequest. Soooo proud ;)

Now I have two options:

  1. Write the proper mapping so I can get it work with JZMQ (the java-jni-binding)
  2. Write a function that creates everything I want and make it accessable via JNI.

But this have to wait till tomorrow. Now a little bit gamekit-fun :D

EDIT2: Ok, found out that JZMQ actually do have encryption built in and with this ZAP-Request you only have the final say if you are willing to allow or disallow a connection. Atm, I'm implementing CertStores for JZMQ, so only known clients are accepted as connecting clients. But this will be another post.
Links:

Tags : , , ,

Export this post as PDF document  Export this post to PDF document

Social Bookmarks :  Add this post to Slashdot    Add this post to Digg    Add this post to Reddit    Add this post to Delicious    Add this post to Stumble it    Add this post to Google    Add this post to Technorati    Add this post to Bloglines    Add this post to Facebook    Add this post to Furl    Add this post to Windows Live    Add this post to Yahoo!
Home