On 11/16/2010 4:50 PM, Jeffrey Altman wrote:
type=“cite”>
On 11/16/2010 3:25 PM, Mark S. Edwards wrote:
I went through this last week having just got a new Verisign
certificate that was produced off the new root.
It took me a day or so to figure out the Verisign support site before
finding what I needed. Like you, I thought I needed a new cross
certificate, but you don’t. What you need are two Verisign
intermediate certificates that link the old root to the new root.
Once they’re imported in to the certificate manager the old Microsoft
cross certificate works again with signtool.
You can pick up the intermediate certificates from here -
http://www.verisign.com/support/verisign-intermediate-ca/code-signing-intermediate/index.html
Paste each one in to a .CER file and import using Explorer.
To answer Gary Little’s question, I did raise a support query with
Verisign about this before I found what I needed. Verisign confirmed
this was the right thing. When I hinted that the information was
difficult to find, the support chap said he was the one tasked to
write a new support article for it.
One would have hoped they might have had the support article ready
before the changeover rather than leaving customers in the lurch …
ho hum.
Mark.
Mark:
Thank you for this. It was far from obvious.
In any case, I believe that Microsoft should issue a new
cross-certificate for the new CA. Devs should not require jumping
through hoops to this stuff work.
Jeffrey Altman
Coming back to this thread. I thought the process worked because
signtool /Kp indicated that the driver was successfully signed.Â
Unfortunately, it actually isn’t.Â
Here is the old signing chain:
SHA1 hash of file: 1CBC97A8BEA16D860B27590E91833B71FA4084F6
Signing Certificate Chain:
   Issued to: Microsoft Code Verification Root
   Issued by: Microsoft Code Verification Root
   Expires:  11/1/2025 8:54:03 AM
   SHA1 hash: 8FBE4D070EF8AB1BCCAF2A9D5CCAE7282A2C66B3
       Issued to: Class 3 Public Primary Certification Authority
       Issued by: Microsoft Code Verification Root
       Expires:  5/23/2016 12:11:29 PM
       SHA1 hash: 58455389CF1D0CD6A08E3CE216F65ADFF7A86408
           Issued to: VeriSign Class 3 Code Signing 2009-2 CA
           Issued by: Class 3 Public Primary Certification
Authority
           Expires:  5/20/2019 6:59:59 PM
           SHA1 hash: 12D4872BC3EF019E7E0B6F132480AE29DB5B1CA3
               Issued to: Secure Endpoints Inc.
               Issued by: VeriSign Class 3 Code Signing 2009-2 CA
               Expires:  11/17/2010 6:59:59 PM
               SHA1 hash: 951F25B0C442A0116C1023DDEF46A60B05833270
and here is the new one:
SHA1 hash of file: 31B4E25BBB3184AFD61234C460F629F2508A6EF8
Signing Certificate Chain:
   Issued to: VeriSign Class 3 Public Primary Certification
Authority - G5
   Issued by: VeriSign Class 3 Public Primary Certification
Authority - G5
   Expires:  7/16/2036 6:59:59 PM
   SHA1 hash: 4EB6D578499B1CCF5F581EAD56BE3D9B6744A5E5
       Issued to: VeriSign Class 3 Code Signing 2010 CA
       Issued by: VeriSign Class 3 Public Primary Certification
Authority - G5
       Expires:  2/7/2020 6:59:59 PM
       SHA1 hash: 495847A93187CFB8C71F840CB7B41497AD95C64F
           Issued to: Secure Endpoints Inc.
           Issued by: VeriSign Class 3 Code Signing 2010 CA
           Expires:  11/17/2011 6:59:59 PM
           SHA1 hash: 77707DE11736ECB3CB73F3E75BA0DE8F2E4B494A
Notice the lack of inclusion of the “Microsoft Code Verification
Root”.   This was signed after the following new intermediate
certificates were imported.
Primary:
issuer=
   /C=US
   /O=VeriSign, Inc.
   /OU=Class 3 Public Primary Certification Authority
subject=
   /C=US
   /O=VeriSign, Inc.
   /OU=VeriSign Trust Network
   /OU=(c) 2006 VeriSign, Inc. - For authorized use only
   /CN=VeriSign Class 3 Public Primary Certification Authority - G5
Secondary:
issuer=
   /C=US
   /O=VeriSign, Inc.
   /OU=VeriSign Trust Network
   /OU=(c) 2006 VeriSign, Inc. - For authorized use only
   /CN=VeriSign Class 3 Public Primary Certification Authority - G5
subject=
   /C=US
   /O=VeriSign, Inc.
   /OU=VeriSign Trust Network
   /OU=Terms of use at https://www.verisign.com/rpa (c)10
   /CN=VeriSign Class 3 Code Signing 2010 CA
Mark, can you please post the output of “signtool /Kp /V
” for one of your successfully signed drivers? I am
interested in seeing what the certificate chain looks like. I am
having a hard time understanding how signtool is expected to look
for an intermediate certificate when “VeriSign Class 3 Public
Primary Certification Authority - G5” has a self-signed root
certificate that was installed as part of the certificate chain that
was issued with the code signing certificate.
Thanks again.
Jeffrey Altman