Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 lines
3.0 KiB

  1. The source code in this directory can be used to build a DLL that encodes and
  2. decodes several different types of X509 Certificate Extensions, in support of
  3. Policy or Exit Modules for Microsoft Certificate Services, or for any other
  4. code that needs to encode or decode Certificate Extensions.
  5. It is meant to run on Windows NT 4.0 with SP3 or later or on Windows 2000 only.
  6. Certificate Services must already be installed for this DLL to be used by a
  7. Policy or Exit Module. This DLL implements several COM interfaces to allow C++
  8. or Visual Basic code to encode extensions without having any knowledge of the
  9. Crypto APIs, using only basic COM support and the BSTR data type to represent
  10. binary encoded extensions.
  11. For examples using these interfaces to encode Certificate Extensions, see the
  12. C++ or Visual Basic sample Policy Modules in sibling directories. The
  13. following routines in the C++ Policy Module encode extensions using interfaces
  14. defined here:
  15. CCertPolicy::_AddRevocationExtension (ICertEncodeCRLDistInfo)
  16. CCertPolicy::_AddCertTypeExtension (ICertEncodeBitString)
  17. CCertPolicy::_AddSubjectAltNameExtension (ICertEncodeAltName)
  18. The Visual Basic policy module encodes the following extension types using
  19. interfaces defined here:
  20. ICertEncodeStringArray
  21. Once the certenc.dll DLL is built, its COM interface must be registered
  22. via the following command:
  23. regsvr32 certenc.dll
  24. If you use the certenc.dll built from these SDK sources with the Visual Basic
  25. policy module (policyvb.dll), you must use the SDK version of the Visual Basic
  26. policy module. This is because the Visual Basic policy module shipped with
  27. Cert Server 1.0 references a sample interface that is no longer provided as
  28. part of certenc.dll.
  29. Files:
  30. ------
  31. adate.cpp -- Implements ICertEncodeDateArray (encode a DATE Array)
  32. adate.h -- Implements ICertEncodeDateArray
  33. along.cpp -- Implements ICertEncodeLongArray (encode a LONG Array)
  34. along.h -- Implements ICertEncodeLongArray
  35. altname.cpp -- Implements ICertEncodeAltName (encode CERT_ALT_NAME_ENTRY)
  36. altname.h -- Implements ICertEncodeAltName
  37. astring.cpp -- Implements ICertEncodeStringArray (encode a String Array)
  38. astring.h -- Implements ICertEncodeStringArray
  39. atl.cpp -- ActiveX Template Library COM support code
  40. bitstr.cpp -- Implements ICertEncodeBitString (encode a Bit String)
  41. bitstr.h -- Implements ICertEncodeBitString
  42. celib.cpp -- Implements support routines
  43. ceerror.cpp -- Implements error handling routines
  44. certenc.cpp -- Implements COM and initialization entry points:
  45. DllMain
  46. DllCanUnloadNow
  47. DllGetClassObject
  48. DllRegisterServer
  49. DllUnregisterServer
  50. certenc.def -- Exports COM entry points
  51. certenc.idl -- Defines certenc.dll's COM interfaces
  52. certenc.rc -- Version Resource
  53. crldist.cpp -- Implements ICertEncodeCRLDistInfo (encode CRL_DIST_POINTS_INFO)
  54. crldist.h -- Implements ICertEncodeCRLDistInfo
  55. pch.cpp -- Precompiled Header file
  56. resource.h -- Resource ID definitions