Install it into domain trust.
Main Topics
Browse All Topicsi work for a company that does not allow unsigned macros to be run on their computers. i just ran into a problem with my certificates. i have a word application that i created that allows users to connect to several adp applications to access data on our sql database. this word document allows me to release updated versions of the applications and the users do not notice the updates because the word document downloads them automaically.
the problem i just ran into is that my certificate expired and i had to get a new one and i will run into this again in a year. i have used makecert to create a certificate that lasts for 90 years so i will not have the problem again but i cannot figure out how to get this cert as a trusted publisher on the 150-200 user computers without visiting each computer myself. i am using my short term cert as a stopover because it is already a trusted publisher but i would like to migrate to the long term cert.
Is there a way to install a certificate into the trusted root certificate store folder using vba
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
i work for a company that works for the mililtary. we do not have control over our network or computers. the reason we are using access for everything is because we are not allowed to do any programming with real languages that would produce .exe files. we are stuck using vba and access. we can install cirtificates on our own computers but we cannot do it across the domain because we cannot control the domain, it is controled by the gov
And everybody decides for themselves what publishers and certificates to trust? anybody can get hold of any certificate, but it's which one you trust is what's important.
I would take a look at http://msdn.microsoft.com/
well sort of, but thats not why im doing it. i have a government id card that expires every year, when it expires, instead of renewing the certificate when i get a new card they give me a whole new certficate which causes all my programs not to work untill i get all the programs back out there with my new cert and everyone trusts that cert.
right now i have a good cert out there with everyone so my code can run. what i want it to do is install another cirtificate, a long term cirtificate, so that at a later date i can switch to that one and never have to worry about the cirtificate expiring again.
From what I know, program can't install certificate and tell the the system to trust it, just like I said above - it would be major security breach. Only administrator can do this, either local computer admin, or domain admin. But I'm not really an expert in security. Perhaps someone in security-related are will give you better idea, such as in http://www.experts-exchang
the program does not necessarily have to make the certificate trusted. the problem is that if i just use the certificate to digitaly sign the vba, the cirtificate is not valid unless it is in the root store, so the user will not be able to choose trust from this publisher. everything the application lanches they will have to tell it to run the vba.
if i can just get the cert installed the the root store, the user can choose to trust all from this publisher and then they only have to do that once.
,hence, accept http:#25592047
correction: accept http:#25591732
The whole approach to possible solution is worng, the asker has to purchase a certificate from e.g. verisign to solve the problem:
http://www.verisig
For developers and software publishers of Microsoft Visual Basic® for Applications (VBA) macro projects, code signing reduces error messages and builds trust in your reputation. VeriSign® Code Signing Certificates for Microsoft® Office and VBA authenticate your identity and validate code integrity.
Or maybe :
http://www.instantssl.com
Ok here's the no you cannot do that clause:
You will not get a 90 years certificate from any well known certification authority.
You can only add a root certificate to each computer that you use to sign your VBA code for e.g. 90 years.
Please see the difference between signed code and root certificate. This are in fact 2 certificates though on different trust levels.
http://en.wikipedia
Tolo
The question was very specific:
Is there a way to install a certificate into the trusted root certificate store folder using vba
and the answer was in http:#25591732:
program can't install certificate and tell the the system to trust it, just like I said above - it would be major security breach. Only administrator can do this, either local computer admin, or domain admin.
This is certainly valuable addition to the KB, no reason to delete it at all.
There's nothing wrong with "the whole approach to the solution" - it's 100% valid question. Wrong would be exactly not to consider this approach and begin with purchasing public certificate for local network.
The whole point of the Certificate is to confirm that a program can be trusted. So, your certificate used by your VBA is to let the user know that your VBA code is trustworthy. Therefore, your VBA code in can't say 'Trust Me' while I install a certificate that says you can 'Trust Me'. That's like a robber providing his own alibi.
"You can't do that" is the correct answer. Award the points to http:#25591732
All,
I don't have a dog in this fight, but (if this is a U.S. Military domain) the right answer is for the Asker to work with the appropriate IT Department (DOIM, J-6, etc.) in whatever Military unit he is in.
Running unauthorized macros - or installing certificates without proper Domain Administrator level accounts is an absolute violation of the User Agreement for anyone with a DoD user account.
IMO - "You can't do that" is the right answer in more ways than one.
ok, here is the deal, the program that is installing the certificate is already trusted by all computers. the problem is that my certificate is only good for like 6months to 1 year and then it changes and i have to go and get eveyone to trust it again. what i want to do is have the already trusted certificate install another certificate.
talonsblade,
As mentioned above, you need to work with the DOIM at your HQ to get this resolved.
Regardless of the fact that there may be 'work-arounds' to this situation, you are operating on a U.S. Government base and those responsible for the network need to be the ones making these modifications.
@All Experts -
"Experts-Exchange" is currently on the allowed sites list for all U.S. Department of Defense networks. It is not prudent to give advice to bypass security restrictions on these networks/computers.
The Asker does not have the necessary permissions for a reason - he is not a member of the appropriate department.
Is this a commercial certificate, like from Comodo? If so, then you can setup your machines such that they will check check the timestamp of that certificate. A code signing certificate will expire every year, however if the certificate was valid when the app was installed, then checking the timestamp (using a timestamp server run by one of the certification authorities) will allow your app to run after your code signing cert is expired. I have an app running on about 500 workstations at a very large aerospace firm, and it's been running for about 7 years with the same certificate. Basically, you must write a few registry keys, which allows VBA to verify whether the certificate was valid AT THE TIME THE CODE WAS SIGNED. Here's the keys:
"Software\Microsoft\VBA\Se
"Software\Microsoft\VBA\Se
"Software\Microsoft\VBA\Se
VBA will then use those values to validate your certificate.
Note that this in no way bypasses security issues - it simply allows VBA to validate whether your certificate was valid or not at the time the app was signed. This it the procedure recommended by all the major code cert authorities. Here's an MS whitepaper that provides details of this. It's for Office XP but is relevant for any version that can use code signing:
http://www.microsoft.com/d
Business Accounts
Answer for Membership
by: talonsbladePosted on 2009-10-16 at 06:04:52ID: 25589078
any ideas?