You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As I previously reported on the mozart-hackers list, the distribution layer of 1.4.0 does not work on Windows. This
is due to the use of dev/random in the initialization of the DSS library. dev/random does not exist on Windows System.
A patch I previously suggested used Microsoft's Cryptographic API. However, this API is quite complicated and has many
possible error conditions. As it turns out, the patch did not work when using ssh as the fork command. (Error code
NTE_BAD_KEY_STATE when calling CryptAcquireContext in a ssh session.)
With this bug entry, I propose a different fix which does not depend on the CryptoAPI and works from within a ssh
session.
Implementation details:
On XP and Vista, the fix uses the system function RtlGenRandom.
While MSDN discourages the use of this function in favour of the CryptoAPI, it is in fact used in the rand_s function
of the Visual C++ CRT, so it will be around for a long time.
(see http://msdn.microsoft.com/en-us/library/sxtz2fa8.aspx )
On older Windows versions, the fix uses the current process id (GetCurrentProcessId) and the tick count (GetTickCount)
as the seed. This does not provide cryptographically secure random numbers, but should suffice for the requirements
of the current Mozart version (which does not use the cryptography features of the DSS at the moment, as far as I can
tell).
See attached patch (for file platform/dss/src/msl_crypto.cc only):
The text was updated successfully, but these errors were encountered:
As I previously reported on the mozart-hackers list, the distribution layer of 1.4.0 does not work on Windows. This
is due to the use of dev/random in the initialization of the DSS library. dev/random does not exist on Windows System.
A patch I previously suggested used Microsoft's Cryptographic API. However, this API is quite complicated and has many
possible error conditions. As it turns out, the patch did not work when using ssh as the fork command. (Error code
NTE_BAD_KEY_STATE when calling CryptAcquireContext in a ssh session.)
With this bug entry, I propose a different fix which does not depend on the CryptoAPI and works from within a ssh
session.
Implementation details:
On XP and Vista, the fix uses the system function RtlGenRandom.
While MSDN discourages the use of this function in favour of the CryptoAPI, it is in fact used in the rand_s function
of the Visual C++ CRT, so it will be around for a long time.
(see http://msdn.microsoft.com/en-us/library/sxtz2fa8.aspx )
On older Windows versions, the fix uses the current process id (GetCurrentProcessId) and the tick count (GetTickCount)
as the seed. This does not provide cryptographically secure random numbers, but should suffice for the requirements
of the current Mozart version (which does not use the cryptography features of the DSS at the moment, as far as I can
tell).
See attached patch (for file platform/dss/src/msl_crypto.cc only):
The text was updated successfully, but these errors were encountered: