Search code examples
phpjavascriptopenlayers

Problem with Digital Certificates using OpenLayers and Javascript


I'm developing a project using Javascript, PHP and OpenLayers. A lot of maps are loaded using and HTTPS connection against an external OGC server.

When I try to load the map using HTTPS, they doesn't load (instead of, they show me an "Error loading the map, try again later").

I think that the problem is because of Digital Certificate. If I load directly from the server (using a WMS call) like this (look the last parameter):

https://serverurl/ogc/wms?service=WMS&version=1.1.0&request=GetMap&layers=ms1:lp_anual_250&styles=&bbox=205125.0,3150125.0,234875.0,3199875.0&width=306&height=512&srs=EPSG:4326&format=application/openlayers

The browser ask me for my authorization to see it. If i accept the Digital Certificate, I can see the map. After that, and because of my browser now accepts the certificate, I can see my own map from my own application.

So, the question is: Is there any way to ask for the Digital Certificate mannually when the user access to my web?

Thanks in advance!

PS: solutions using PHP are welcome too because I'm using CodeIgniter to load views


Solution

  • Im going to quote another user (geographika) from gis.stackexchange. I hope can help to someone with my issue:

    You can use a proxy on your server so all client requests are made to your server, which deals with the certificate, gets the request and passes it back to the client. For PHP have a look at http://tr.php.net/manual/en/function.openssl-verify.php

    If you are also using WMS software (MapServer, GeoServer) you could implement the same technique using a cascading WMS server.

    For details on how to do this in MapServer see http://geographika.co.uk/setting-up-a-secure-cascading-wms-on-mapserver