Arun, One way is to register a nsIStreamListener using the nsITraceableChannel interface of the HTTP channel. Your nsIStreamListener will need to implement onStartRequest(), onStopRequest() and onDataAvailable(). In your case, however, the last two will just be almost empty methods. In onStartRequest(), you can get the nsISSLStatus from the HTTP channel.
You can register your nsIStreamListener using the "http-on-examine- response". When the event fires, you get the nsITraceableChannel interface from the HTTP channel and and replace the original stream listener with your own. Be sure to keep a pointer to the original stream listeners. Each of your methods above must call in the end the corresponding method from the original listener. Otherwise whatever initiated the the request (e.g. the docshell) will be out-of-sync with the networking library. Ideally, you shouldn't do anything in onDataAvailable() but call the original stream listener. Otherwise, performance may degrade noticeably. You can find more info and sample code here: http://www.softwareishard.com/blog/firebug/nsitraceablechannel-intercept-http-traffic/ Note that nsITraceableChannel was introduced in Firefox 3.0.3.. For earlier versions, I don't know if there is a way to get the nsISSLStatus. From what I can see in the Firefox source code, only the module that initiated the HTTPS request can get this information. I hope this helps. Best Regards, Peter Djalaliev On Jun 26, 2:40 am, MAK <arungene...@gmail.com> wrote: > Thankx Peter, > > But how is the registration for nsIRequestObserver done. I tried > out many options, but in no way I'm able to query the nsISSLStatus > interface through nsIRequestObserver. > > regards, > Arun > -- dev-tech-crypto mailing list dev-tech-crypto@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-tech-crypto