diff --git a/configure b/configure
index 389b83e931e0d9a88ae284b11346e1e5e8c5553c..5100dd8af5f5807807e68081b157956d842338d6 100755
--- a/configure
+++ b/configure
@@ -1174,6 +1174,7 @@ enable_cards
 enable_cdosys
 enable_cfgmgr32
 enable_clusapi
+enable_cng_sys
 enable_combase
 enable_comcat
 enable_comctl32
@@ -19002,6 +19003,7 @@ wine_fn_config_makefile dlls/cards enable_cards
 wine_fn_config_makefile dlls/cdosys enable_cdosys
 wine_fn_config_makefile dlls/cfgmgr32 enable_cfgmgr32
 wine_fn_config_makefile dlls/clusapi enable_clusapi
+wine_fn_config_makefile dlls/cng.sys enable_cng_sys
 wine_fn_config_makefile dlls/combase enable_combase
 wine_fn_config_makefile dlls/combase/tests enable_tests
 wine_fn_config_makefile dlls/comcat enable_comcat
diff --git a/configure.ac b/configure.ac
index 0dbf73657142041d3ee42784a506b4fc6cc494f0..6941b2c73a8e983617b3e1bf09faabefb7d2a34e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2713,6 +2713,7 @@ WINE_CONFIG_MAKEFILE(dlls/cards)
 WINE_CONFIG_MAKEFILE(dlls/cdosys)
 WINE_CONFIG_MAKEFILE(dlls/cfgmgr32)
 WINE_CONFIG_MAKEFILE(dlls/clusapi)
+WINE_CONFIG_MAKEFILE(dlls/cng.sys)
 WINE_CONFIG_MAKEFILE(dlls/combase)
 WINE_CONFIG_MAKEFILE(dlls/combase/tests)
 WINE_CONFIG_MAKEFILE(dlls/comcat)
diff --git a/dlls/cng.sys/Makefile.in b/dlls/cng.sys/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..81d37898e012c016db788d5986f7e3104c370661
--- /dev/null
+++ b/dlls/cng.sys/Makefile.in
@@ -0,0 +1 @@
+MODULE  = cng.sys
diff --git a/dlls/cng.sys/cng.sys.spec b/dlls/cng.sys/cng.sys.spec
new file mode 100644
index 0000000000000000000000000000000000000000..0a2858579d2a8b6024943bebf38239e591776ad7
--- /dev/null
+++ b/dlls/cng.sys/cng.sys.spec
@@ -0,0 +1,63 @@
+@ stdcall BCryptAddContextFunctionProvider(long wstr long wstr wstr long) bcrypt.BCryptAddContextFunctionProvider
+@ stdcall BCryptCloseAlgorithmProvider(ptr long) bcrypt.BCryptCloseAlgorithmProvider
+@ stdcall BCryptCreateHash(ptr ptr ptr long ptr long long) bcrypt.BCryptCreateHash
+@ stub BCryptCreateMultiHash
+@ stdcall BCryptDecrypt(ptr ptr long ptr ptr long ptr long ptr long) bcrypt.BCryptDecrypt
+@ stdcall BCryptDeriveKey(ptr wstr ptr ptr long ptr long) bcrypt.BCryptDeriveKey
+@ stdcall BCryptDeriveKeyCapi(ptr ptr ptr long long) bcrypt.BCryptDeriveKeyCapi
+@ stdcall BCryptDeriveKeyPBKDF2(ptr ptr long ptr long int64 ptr long long) bcrypt.BCryptDeriveKeyPBKDF2
+@ stdcall BCryptDestroyHash(ptr) bcrypt.BCryptDestroyHash
+@ stdcall BCryptDestroyKey(ptr) bcrypt.BCryptDestroyKey
+@ stdcall BCryptDestroySecret(ptr) bcrypt.BCryptDestroySecret
+@ stdcall BCryptDuplicateHash(ptr ptr ptr long long) bcrypt.BCryptDuplicateHash
+@ stdcall BCryptDuplicateKey(ptr ptr ptr long long) bcrypt.BCryptDuplicateKey
+@ stdcall BCryptEncrypt(ptr ptr long ptr ptr long ptr long ptr long) bcrypt.BCryptEncrypt
+@ stdcall BCryptEnumAlgorithms(long ptr ptr long) bcrypt.BCryptEnumAlgorithms
+@ stub BCryptEnumProviders
+@ stdcall BCryptExportKey(ptr ptr wstr ptr long ptr long) bcrypt.BCryptExportKey
+@ stdcall BCryptFinalizeKeyPair(ptr long) bcrypt.BCryptFinalizeKeyPair
+@ stdcall BCryptFinishHash(ptr ptr long long) bcrypt.BCryptFinishHash
+@ stdcall BCryptFreeBuffer(ptr) bcrypt.BCryptFreeBuffer
+@ stdcall BCryptGenRandom(ptr ptr long long) bcrypt.BCryptGenRandom
+@ stdcall BCryptGenerateKeyPair(ptr ptr long long) bcrypt.BCryptGenerateKeyPair
+@ stdcall BCryptGenerateSymmetricKey(ptr ptr ptr long ptr long long) bcrypt.BCryptGenerateSymmetricKey
+@ stdcall BCryptGetFipsAlgorithmMode(ptr) bcrypt.BCryptGetFipsAlgorithmMode
+@ stdcall BCryptGetProperty(ptr wstr ptr long ptr long) bcrypt.BCryptGetProperty
+@ stdcall BCryptHash(ptr ptr long ptr long ptr long) bcrypt.BCryptHash
+@ stdcall BCryptHashData(ptr ptr long long) bcrypt.BCryptHashData
+@ stdcall BCryptImportKey(ptr ptr wstr ptr ptr long ptr long long) bcrypt.BCryptImportKey
+@ stdcall BCryptImportKeyPair(ptr ptr wstr ptr ptr long long) bcrypt.BCryptImportKeyPair
+@ stub BCryptKeyDerivation
+@ stdcall BCryptOpenAlgorithmProvider(ptr wstr wstr long) bcrypt.BCryptOpenAlgorithmProvider
+@ stub BCryptProcessMultiOperations
+@ stub BCryptRegisterConfigChangeNotify
+@ stdcall BCryptRegisterProvider(wstr long ptr) bcrypt.BCryptRegisterProvider
+@ stub BCryptResolveProviders
+@ stdcall BCryptSecretAgreement(ptr ptr ptr long) bcrypt.BCryptSecretAgreement
+@ stdcall BCryptSetProperty(ptr wstr ptr long long) bcrypt.BCryptSetProperty
+@ stdcall BCryptSignHash(ptr ptr ptr long ptr long ptr long) bcrypt.BCryptSignHash
+@ stub BCryptUnregisterConfigChangeNotify
+@ stdcall BCryptUnregisterProvider(wstr) bcrypt.BCryptUnregisterProvider
+@ stdcall BCryptVerifySignature(ptr ptr ptr long ptr long long) bcrypt.BCryptVerifySignature
+@ stub CngGetFipsAlgorithmMode
+@ stub EntropyPoolTriggerReseedForIum
+@ stub EntropyProvideData
+@ stub EntropyRegisterCallback
+@ stub EntropyRegisterSource
+@ stub EntropyUnregisterSource
+@ stub SslDecrementProviderReferenceCount
+@ stub SslDecryptPacket
+@ stub SslEncryptPacket
+@ stub SslExportKey
+@ stub SslExportKeyingMaterial
+@ stub SslFreeObject
+@ stub SslImportKey
+@ stub SslIncrementProviderReferenceCount
+@ stub SslLookupCipherLengths
+@ stub SslLookupCipherSuiteInfo
+@ stub SslOpenProvider
+@ stub SymCrypt802_11SaeCustomCommitCreate
+@ stub SymCrypt802_11SaeCustomCommitProcess
+@ stub SymCrypt802_11SaeCustomDestroy
+@ stub SymCrypt802_11SaeCustomInit
+@ stub SystemPrng
diff --git a/tools/make_specfiles b/tools/make_specfiles
index ecfc6d0e8f2bee8530f2ae30a9b30d7d73507c8a..f9e93799ba2fdd2c17c89c0d20c10af5fba1cc0a 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -507,6 +507,7 @@ my @dll_groups =
  [
   "bcrypt",
   "ncrypt",
+  "cng.sys",
  ],
  [
   "ntoskrnl.exe",