Digital certificate for Excel

I need to digitally sign an Excel spreadsheet so that the macros on it will run on company computers that have their macro security set to “high” by default.

What is the best and cheapest way to do this? Can I do it for free?

Probably not free.

Digital certificates use Public Key Infrastructure, which uses key pairs. You will want to sign with a digital certificate that contains a private key whose public key counterpart is already trusted on the “company computers”.

It is possible that the intended company runs their own Certificate Authority (CA) and has preloaded certificates on each machine that tie back to a trusted root certificate. If so, whoever runs that CA would likely be able to issue you a certificate, at no cost, to accomplish your objective (depending on their policies).

Otherwise, you will need to use a certificate from a trusted root already loaded on the computers. These certificates are generally distributed with browsers, and you can find a list of those already on your computer from the “tools/options” menu (in IE and Firefox, at least). To get a certificate with a private key whose public key is trusted in this environment, you will likely need to buy one from one of those vendors.

Perhaps one or some of those will provide code-signing certificates for free, I haven’t investigated the topic for a long time.

You can also set up your own (free) CA, generate a self-signed root certificate, and sign the sheet with that. The company would then have to add your certificate as “trusted” to the computers that will use the spreadsheet. This can usually be done fairly easily en masse.

Just curious; you are not able to access the Macro Security settings at all?

The company has several bases around the country. I can access the macro settings at my own base but have no control over what happens elsewhere. What I need is for other computers, that I don’t have physical access to, to accept my macros.

On further thought, there are not that many computers that this will have to run on, and I could just get someone at each other base to change the macro settings to medium.

I’d prefer to use a digital signature though.

OpenSSL is a well-respected open-source tool for creating digital certificates. I’ve used the Windows version with some success, but it is not user-friendly at all. You may have to do a lot of fiddling over syntax to get it to work properly.

Keep in mind that even if you do issue a certificate someone will still have to add it to the list of Trusted Sources in Excel on those remote computers.