SSLRandomSeed指令要求/ dev / random类型的文件或输出随机字节的可执行文件。如果我正在编写程序,有些功能可以在Windows上提供熵,但是只有一个源可以使用吗?或者我可以从网上下载一个?
答案 0 :(得分:0)
我很欣赏那些比我更了解安全隐患的人的评论,但这是我想出的解决问题的方法。 (它还作为带有许可证和已编译二进制文件here的代码段进行托管。
// To compile run:
// csc entropy.cs
// If csc is not on your path, it is probably somewhere like C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe
using System;
using System.Security.Cryptography;
namespace Entropy
{
class Program
{
static void Main(string[] args)
{
int numberOfArgs = args.Length;
int bytesToOutput = 1024;
if (numberOfArgs > 1)
{
Console.WriteLine("Too many arguments. Expected either none, or the number of bytes to output");
Environment.Exit(-1);
}
else if (numberOfArgs == 1)
{
bytesToOutput = int.Parse(args[0]);
}
byte[] output = new byte[bytesToOutput];
var provider = RNGCryptoServiceProvider.Create();
provider.GetBytes(output);
using (var stdout = Console.OpenStandardOutput())
{
stdout.Write(output, 0, bytesToOutput);
}
}
}
}
如果您愿意信任该代码的安全性(不提供保修),请抓取二进制版本或自行编译代码,然后将其复制到您的apache目录中。然后将这些行添加到您的SSL conf:
SSLRandomSeed startup exec:entropy.exe 512
SSLRandomSeed connect exec:entropy.exe 512