Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Error message when you use the CryptAcquireContext function to request a handle to a third-party CSP on a computer that is running Windows Vista or Windows Server 2008: "0x800b0100 (Invalid Signature)"


View products that this article applies to.

Symptoms

Consider the following scenario:
  • You have a multiprocessor computer that is running Windows Vista or Windows Server 2008.
  • You try to use the CryptAcquireContext function to request a handle to a third-party cryptographic service provider (CSP).
In this scenario, the function may generate the following error message:
0x800b0100 (Invalid Signature)
Note Because a CSP from Microsoft is signed by using a different signing method, this problem does not occur if the CSP is a software-based CSP from Microsoft.

↑ Back to the top


Cause

The CryptAcquireContext function uses the Advapi32.dll module to load a CSP before the function verifies the signature of the CSP. In Windows Vista and in Windows Server 2008, the method that the Advapi32.dll module uses to load a CSP relies on a fixed offset to locate the signature of the CSP. Therefore, if the memory is remapped, the offset points to an invalid location. This behavior causes the verification to fail.

Note This method that the Advapi32.dll module uses to load a CSP differs in Windows Server 2003.

↑ Back to the top


Resolution

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site: Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Important Windows Vista and Windows Server 2008 hotfixes are included in the same packages. However, only one of these products may be listed on the �Hotfix Request� page. To request the hotfix package that applies to both Windows Vista and Windows Server 2008, just select the product that is listed on the page.

Prerequisites

To apply this hotfix, the computer must be running one of the following operating systems:
  • Windows Vista Service Pack 1 (SP1)
  • Windows Vista Service Pack 2 (SP2)
  • Windows Server 2008
  • Windows Server 2008 Service Pack 2 (SP2)

Restart requirement

You must restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any other hotfix.

File information

The global version of this hotfix has the file attributes (or later file attributes) that are listed in the following table.
Windows Vista and Windows Server 2008 file information notes
  • The files that apply to a specific product, SR_Level (RTM, SPn), and service branch (LDR, GDR) can be identified by examining the file version numbers as shown in the following table.
    VersionProductSR_LevelService branch
    6.0.600 0 . 16xxxWindows VistaRTMGDR
    6.0.600 0 . 20xxxWindows VistaRTMLDR
    6.0.600 1 . 18xxxWindows Vista and Windows Server 2008SP1GDR
    6.0.600 1 . 22xxxWindows Vista and Windows Server 2008SP1LDR
    6.0.600 2 . 18xxxWindows Vista and Windows Server 2008SP2GDR
    6.0.600 2 . 22xxxWindows Vista and Windows Server 2008SP2LDR
  • Service Pack 1 is integrated into the original release of Windows Server 2008.
  • The MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are listed separately. MUM and MANIFEST files, and the associated security catalog (.cat) files, are critical to maintaining the state of the updated component. The security catalog files (attributes not listed) are signed with a Microsoft digital signature.
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
For all supported x86-based versions of Windows Server 2008 and of Windows Vista
File nameFile versionFile sizeDateTimePlatform
Advapi32.dll6.0.6001.22525800,76817-Sep-200912:32x86
Advapi32.dll6.0.6002.22228801,28017-Sep-200912:15x86
For all supported x64-based versions of Windows Server 2008 and of Windows Vista
File nameFile versionFile sizeDateTimePlatform
Advapi32.dll6.0.6001.225251,063,93617-Sep-200912:36x64
Advapi32.dll6.0.6002.222281,067,00817-Sep-200912:04x64
For all supported Itanium-based versions of Windows Server 2008
File nameFile versionFile sizeDateTimePlatform
Advapi32.dll6.0.6001.225251,963,00817-Sep-200912:12IA-64
Advapi32.dll6.0.6002.222281,964,03217-Sep-200912:04IA-64

↑ Back to the top


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

↑ Back to the top


More information

For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base: -
824684 Description of the standard terminology that is used to describe Microsoft software updates

Additional file information for Windows Vista and for Windows Server 2008

Additional files for all supported x86-based versions of Windows Vista and of Windows Server 2008

File nameFile versionFile sizeDateTimePlatform
Package_for_kb974971_client_1~31bf3856ad364e35~x86~~6.0.1.0.mumNot applicable1,36717-Sep-200923:11Not applicable
Package_for_kb974971_client_2~31bf3856ad364e35~x86~~6.0.1.0.mumNot applicable1,69417-Sep-200923:11Not applicable
Package_for_kb974971_client~31bf3856ad364e35~x86~~6.0.1.0.mumNot applicable1,71317-Sep-200923:11Not applicable
Package_for_kb974971_sc_0~31bf3856ad364e35~x86~~6.0.1.0.mumNot applicable1,42117-Sep-200923:11Not applicable
Package_for_kb974971_sc_1~31bf3856ad364e35~x86~~6.0.1.0.mumNot applicable1,69017-Sep-200923:11Not applicable
Package_for_kb974971_sc~31bf3856ad364e35~x86~~6.0.1.0.mumNot applicable1,70117-Sep-200923:11Not applicable
Package_for_kb974971_server_0~31bf3856ad364e35~x86~~6.0.1.0.mumNot applicable1,42517-Sep-200923:11Not applicable
Package_for_kb974971_server_1~31bf3856ad364e35~x86~~6.0.1.0.mumNot applicable1,69417-Sep-200923:11Not applicable
Package_for_kb974971_server~31bf3856ad364e35~x86~~6.0.1.0.mumNot applicable1,71317-Sep-200923:11Not applicable
Package_for_kb974971_winpesrv_0~31bf3856ad364e35~x86~~6.0.1.0.mumNot applicable1,42217-Sep-200923:11Not applicable
Package_for_kb974971_winpesrv~31bf3856ad364e35~x86~~6.0.1.0.mumNot applicable1,43017-Sep-200923:11Not applicable
X86_microsoft-windows-advapi32_31bf3856ad364e35_6.0.6001.22525_none_e3c157a79fab03ab.manifestNot applicable9,80517-Sep-200914:21Not applicable
X86_microsoft-windows-advapi32_31bf3856ad364e35_6.0.6002.22228_none_e5aaca6d9ccea4d4.manifestNot applicable9,80517-Sep-200913:51Not applicable

Additional files for all supported x64-based versions of Windows Vista and of Windows Server 2008

File nameFile versionFile sizeDateTimePlatform
Amd64_microsoft-windows-advapi32_31bf3856ad364e35_6.0.6001.22525_none_3fdff32b580874e1.manifestNot applicable9,85117-Sep-200914:27Not applicable
Amd64_microsoft-windows-advapi32_31bf3856ad364e35_6.0.6002.22228_none_41c965f1552c160a.manifestNot applicable9,85117-Sep-200913:36Not applicable
Package_for_kb974971_client_1~31bf3856ad364e35~amd64~~6.0.1.0.mumNot applicable1,37517-Sep-200923:11Not applicable
Package_for_kb974971_client_2~31bf3856ad364e35~amd64~~6.0.1.0.mumNot applicable1,70617-Sep-200923:11Not applicable
Package_for_kb974971_client~31bf3856ad364e35~amd64~~6.0.1.0.mumNot applicable1,72317-Sep-200923:11Not applicable
Package_for_kb974971_sc_0~31bf3856ad364e35~amd64~~6.0.1.0.mumNot applicable1,42917-Sep-200923:11Not applicable
Package_for_kb974971_sc_1~31bf3856ad364e35~amd64~~6.0.1.0.mumNot applicable1,70217-Sep-200923:11Not applicable
Package_for_kb974971_sc~31bf3856ad364e35~amd64~~6.0.1.0.mumNot applicable1,71117-Sep-200923:11Not applicable
Package_for_kb974971_server_0~31bf3856ad364e35~amd64~~6.0.1.0.mumNot applicable1,43317-Sep-200923:11Not applicable
Package_for_kb974971_server_1~31bf3856ad364e35~amd64~~6.0.1.0.mumNot applicable1,70617-Sep-200923:11Not applicable
Package_for_kb974971_server~31bf3856ad364e35~amd64~~6.0.1.0.mumNot applicable1,72317-Sep-200923:11Not applicable
Package_for_kb974971_winpesrv_0~31bf3856ad364e35~amd64~~6.0.1.0.mumNot applicable1,43017-Sep-200923:11Not applicable
Package_for_kb974971_winpesrv~31bf3856ad364e35~amd64~~6.0.1.0.mumNot applicable1,43817-Sep-200923:11Not applicable

Additional files for all supported Itanium-based versions of Windows Server 2008

File nameFile versionFile sizeDateTimePlatform
Ia64_microsoft-windows-advapi32_31bf3856ad364e35_6.0.6001.22525_none_e3c2fb9d9fa90ca7.manifestNot applicable9,82817-Sep-200913:42Not applicable
Ia64_microsoft-windows-advapi32_31bf3856ad364e35_6.0.6002.22228_none_e5ac6e639cccadd0.manifestNot applicable9,82817-Sep-200913:26Not applicable
Package_for_kb974971_sc_0~31bf3856ad364e35~ia64~~6.0.1.0.mumNot applicable1,42517-Sep-200923:11Not applicable
Package_for_kb974971_sc_1~31bf3856ad364e35~ia64~~6.0.1.0.mumNot applicable1,53017-Sep-200923:11Not applicable
Package_for_kb974971_sc~31bf3856ad364e35~ia64~~6.0.1.0.mumNot applicable1,70617-Sep-200923:11Not applicable
Package_for_kb974971_server_0~31bf3856ad364e35~ia64~~6.0.1.0.mumNot applicable1,42917-Sep-200923:11Not applicable
Package_for_kb974971_server_1~31bf3856ad364e35~ia64~~6.0.1.0.mumNot applicable1,53317-Sep-200923:11Not applicable
Package_for_kb974971_server~31bf3856ad364e35~ia64~~6.0.1.0.mumNot applicable1,71817-Sep-200923:11Not applicable
Package_for_kb974971_winpesrv_0~31bf3856ad364e35~ia64~~6.0.1.0.mumNot applicable1,42617-Sep-200923:11Not applicable
Package_for_kb974971_winpesrv~31bf3856ad364e35~ia64~~6.0.1.0.mumNot applicable1,43417-Sep-200923:11Not applicable

↑ Back to the top


References

For more information about the CryptAcquireContext function, visit the following Microsoft Developer Network (MSDN) Web site: http://msdn.microsoft.com/en-us/library/aa379886(VS.85).aspx

↑ Back to the top


Keywords: kbsurveynew, kbexpertiseadvanced, kbhotfixserver, kbautohotfix, kbqfe, kbfix, KB974971

↑ Back to the top

Article Info
Article ID : 974971
Revision : 1
Created on : 10/23/2009
Published on : 10/23/2009
Exists online : False
Views : 299