Cryptographic Next Generation SDK for Vista

The CNG SDK is now available for download on the Microsoft Download Center.  The CNG SDK is designed to be used with the Windows Vista operating system.  CNG samples that previously shipped with the Beta versions of the Windows SDK are now packaged in this 3 MB download.


Documentation: The Windows CNG SDK documentation contains API reference topics; task-based, how-to documentation; and feature overviews to help you develop applications using CNG APIs.  Search, the Index, the Table of Contents, and the navigational topics in the documentation viewer are all available to help you locate the topics you need.


Code: The Windows CNG SDK provides header files, libraries, and source code in the C/C++ language. All CNG SDK source code is installed to the “Program Files\Microsoft CNG Development Kit” directory.

Tools and Build Environments: In order to build Windows applications, you will need the Windows SDK
, which provides the documentation, samples, header files, libraries, and tools you need to develop applications that run on Windows.  This SDK includes GUI and command-line tools to aid in the development of native (Win32) systems and support for .NET Framework 3.0. The tools include command-line compilers (both 32 and 64-bit), debuggers, performance monitoring applications, security management utilities, and much more.


Karin Meier

Windows SDK Samples PM


Comments (14)

  1. anony.muos says:

    Do you plan to make CNG available on XP? Please do…many developers would like it.

  2. Rod Stephens says:

    Is there any way to use CNG with Visual Basic or C#? My guess is that it cannot be done in any sane fashion but I can’t confirm that.

  3. MSDN Archive says:

    In response to the comments above:

    1.  The CNG Team does not have plans to make CNG available for Windows XP.  This is a Vista technology.

    2.  Rod, you are correct.  CNG cannot be used with VB  or C#.

    Karin Meier, Samples PM, Windows SDK Team

  4. PSchuetz says:

    Hi there,

    too bad you didn’t implement the great WHIRLPOOL hash algorithm as an alternative/addition to SHA in CNG in Vista..!

    WHIRLPOOL 512 bit hash algorithm is well designed and approved and suggested by NESSIE

    I can’t find an answer, why MS decides to do so..

    best regards,


  5. Top rocker Sunidhi Chauhan is belting out the " Wow is Now " song for the big Vista launch in India,

  6. Brian Cost says:

    PSchuetz, the WHIRLPOOL hash algorithm was not supported due to lack of customer demand. I’ve passed on your comments to the CNG Team.

    Karin Meier, Samples PM, Windows SDK Team

  7. HyunKim says:

    Hi there,

    I was testing some samples in CNG SDK. But they makes some errors.

    When I register a provider which made from “CNGSYMM”, a provider name

    and an encrypt algorithm are registered nicely.

    But an “0xc00000bb” error occurred when “BCryptOpenAlgorithmProvider” function is called in the “CNGDEMO” project.

    Furthermore, when I visit msdn online, contents about CNG Providers are disappears.

    Are you updating these contents now?

    best regards,


  8. MSDN Archive says:

    Hyun, I’ve passed your comments on to the CNG team and will post their reply here when I hear back.  Thanks for your feedback.

    Karin Meier, Windows SDK Samples PM

  9. MSDN Archive says:

    Hyun, I understand you’ve already been communicating with the CNG Team about these questions.  I can not add anything else to what they have told you.  If you still have questions, you can contact PSS (Product Support Services) who may be able to help you further.  Thanks!

    Karin Meier, Windows SDK Samples PM

  10. The CNG SDK is now available for download on the Microsoft Download Center. The CNG SDK is designed to

  11. yoavmorag says:

    I can’t build the samples at all – they include some obscue files (nt.h) and deprecated (?) files (ntrtl.h). I’ve got both the DDK and SDK installed on a vista machine with vs2005

    any help is welcome

  12. yoavmorag says:

    ok solved this one myself –  comment out 3 1st header files , add ntstatus.h, and override lib and include dirs of the SDK with the CNG SDK dirs.

  13. MSDN Archive says:

    yoavmorag, I’m glad you got this worked out. I’ll pass your comments on to the CNG developers.

  14. yoavmorag says:

    glad to see this place is alive 🙂 now I have another Q :

    I’m trying to make a *virtual* smart card + reader to experiment with the concept. I’ve implemented most of the required stuff from cardmod.h , made the manifest and the registery addition – however still can’t see any smart card when enumarating using SCardListReaders. so…

    is there an example of a virtual card + reader ?

    what is the exact registration process for a new sc minidriver on VISTA ?

    I can also be reached on yoav (dot) morag (at) intel (dot) com, in case someone has the answers

    nice fish, b.t.w.

Skip to main content