A nice article exists to help you make the client-to-server communication with Dynamics CRM 4.0 more secure. A section configuring IFD and SSL can also be found in this article.
We followed the Configure Microsoft Dynamics CRM client-to-server communication for Internet-facing deployments section in this document with one of our hosted clients. We setup IFD, SSL, and enabled the Require SSL check box in IIS. Once we enabled that checkbox, we discovered we had authentication issues with plug-ins. Upon debugging further, we found the plug-ins were receiving the following service Url from the plug-in context:
Since the https port was really 443 in this case, we were getting an error. We played around with the settings and once we updated the LocalSDKPort value to 443 and the plug-ins started working again.
So, if you find yourself with this problem, ignore the bolded part in step 5 and continue to update the LocalSDKPort with your SSL port as the rest of the step describes.
5. If the Microsoft Dynamics CRM Web site is configured to use the default http (80) and https (443) TCP ports, you do not have to modify the LocalSDKPort registry subkey value, and you can skip this step.