In my experience running with apache on linux, if the domain name is constant across the two then it just works. (http://www.example.com and https://www.example.com)
If the domain name changes then you can try passing the session id via the querystring. As long as the setting "session.use_only_cookies" is not enabled you should be able to just create the url as
$url = 'https://store.example.com/file.php?'.session_name().'='.session_id();
Oh, yeah. In either case I'm assuming that both the unsecure and secure sites are on the same machine, and in the case of *nix using the same instance of apache.