Click here to Skip to main content
15,885,546 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
Hi all,

The Security department has signed the dll, that comes as a part of the VSTO Excell Addin we created. We do not have acces to the (private) key.

How do i create an installation package using our signed dll without the use of the key/certificate?

Note; our addin package also comes with the Microsoft.Office.Tools.Common.v4.0.Utilities.dll

Any ideas?

Thanks!
Posted

Your question doesn't make any sense. Why do you need that certificate to deploy a .DLL?? Where I work, we deploy stuff that's signed all the time, without doing anything special at all with a certificate. You just build the installer to put the files where you want them. That's it!

Unless you're talking about signing the .MSI with the same certificate??
 
Share this answer
 
Comments
Jozzle 20-Dec-13 10:19am    
Our security department signs .dll's only which makes the computed hash different from what the application manifest (and VSTO) expects.

I cannot simply put the .dll back into te deployment, nor do i have acces to the certificate to recomplie the deployment.

We dont have an MSI, only the .VSTO (created by a release build) or the Setup.exe,(created bij a publish action), but i think the situation is comparable to that of an MSI?
Dave Kreskowiak 20-Dec-13 10:22am    
I never used the Visual Studio package. I always just created an .MSI installation by hand to install my signed files. No keys required...
Sergey Alexandrovich Kryukov 20-Dec-13 11:18am    
My 5. I also answered explaining logically what's wrong and what could be done. However, the case it way to pathological, so I'm very skeptical... :-)
—SA
There is such a joke: a completely drunk man sits in the cab and the driver asks him where to get him:
—"Where to?"
—"None of you business, you swine!"

Maybe your security department is like that drunk passenger. No, it cannot make any sense. You cannot produce signed DLL without having the full key pair. The private key is never provided to the use, cannot be restored based on the public key and data, and it is needed for something; isn't it logical? And you really need to understand how public-key cryptography works:
http://en.wikipedia.org/wiki/Public-key_cryptography[^],
http://en.wikipedia.org/wiki/Digital_signature[^].

Actually, it can be a manifestation of the well-known organizational anti-pattern named "moral hazard":
http://en.wikipedia.org/wiki/Anti-pattern[^],
http://en.wikipedia.org/wiki/Moral_hazard[^].

For the really paranoid organizations, like yours (however, I doubt that working in your organization is possible at all), there is a mechanism of delayed key signing: http://msdn.microsoft.com/en-us/library/t07a3dye%28v=vs.110%29.aspx[^].

What to do? Maybe you need to contact some level of your administration and delicately hint that some idiots present in the structure totally sabotage the whole part of the business. But first, you need to learn and understand things yourself. But again, this case is so pathological that it rather belongs to one of those sites collecting comical computer absurdities. Not sure that working in your company is possible for a mentally healthy person.

—SA
 
Share this answer
 
v6
Comments
Jozzle 23-Dec-13 9:55am    
Thanks you for your answer. You're right. I'm not at all experienced in signing code, as i'm more focussed on WebAplications and yes, the organisation i work for is 'inflexible' to say the least...

But, i have an issue to solve, so i put your sceptic proza aside, read up on things and try to get to the next point;

Eventually my initial question is perfectly explained and partially answered by Ade Miller in this blog: http://www.ademiller.com/blogs/tech/2008/03/delay-signing-vsto-add-in-projects/

Now, i need to regenerate my .manifest & .vsto file by use of mage.exe but uses the pfx file, which makes sense, considering the public-key cryptography principles.

I've tried this locally with a temp certificate and it works like al charm. Now it's up to the security department, as i need them to use mage.exe and their .pfx to regenerate the two application files.

I've contacted them and they do not facilitate this (not yet, getting them to do so may take ages), so a subsequent question rises; is there an alternative way to get this signed .dll operational on client machines without the warning?

I have tried a Setup project (as described here, http://msdn.microsoft.com/en-us/vsto/ff937654.aspx) but that implies using the .manifest and . vsto file which brings me back to the computed hash mismatch i think.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900