LocalCertBag should be used to specify additional certificate bag
- file that holds one or more certificates to be used for
verification of server's certificate path. It is particular useful
in ASP environment - since IIS/ASP is running under IUSER_COMPUTER
privileges (guest privileges) and it has no access to computer's
certificate store, so using wodHttpDLX in ASP often produces
problems and errors of type 'unable to verify remote certificate'
etc..
Basically, certificate bag file contains one or more
certificates, and it looks like this:
/DC=com/DC=microsoft/CN=Microsoft Root
Certificate Authority
-----BEGIN CERTIFICATE-----
MIIFmTCCA4GgAwIBAgIQea0WoUqgpa1Mc1j0BxMuZTANBgkqhkiG9w0BAQUFADBf
.......
SSbd3ik1h/UwcXBbFDxpvYkSfesuo/7Yf56CWlIKK8FDK9kwiJ/IEPuJjeahhXUz
fmye23MTZGJppS99ypZtn/gETTCSPW4hFCHJPeDD/YprnUr90aGdmUN3P7Da
-----END CERTIFICATE-----
/OU=Copyright (c) 1997 Microsoft Corp./OU=Microsoft Corporation/CN=Microsoft
Root Authority
-----BEGIN CERTIFICATE-----
MIIEEjCCAvqgAwIBAgIPAMEAizw8iBHRPvZj7N9AMA0GCSqGSIb3DQEBBAUAMHAx
KzApBgNVBAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAc
-----END CERTIFICATE-----
......
Idea is this: since ASP privileges do not allow access to windows
certificate store, we should export them to a file (as regular
user), and then just import them to wodHttpDLX from ASP code. So, as
any user on your system you should create code like this (sample for
VB):
- Dim Loc As New CertLocation
Loc(CurrentUser).Item("ROOT").Export "C:\certs.txt"
Loc(CurrentUser).Item("CA").Export "C:\certs.txt"
This code will export certificates to 'certs.txt'
file. Now place that file so it can be accessed from ASP, and in
your ASP code add this:
- ...
set wodHttp = server.CreateObject("WeOnlyDo.wodHttpDLXCom.1")
wodHttp.LocalCertBag = "c:\certs.txt"
wodHttp.LicenseKey="put-your-license-key"
...