OpenSSL.net密钥生成异常

时间:2015-06-16 22:05:53

标签: c# .net openssl rsa

我正在尝试使用OpenSSL.net库生成用于加密的公钥/公钥对。我将ManagedOpenSsl.dll添加到引用中,并将libeay32.dll和ssleay32.dll放入我的工作目录中(如所述here

不幸的是,在运行代码时,我遇到了一个令人讨厌的异常(它构建正常)。我在这做错了什么?

EDIT代码已修改:

    public void GetKeys ()
    {
        using( OpenSSL.Crypto.RSA test = new OpenSSL.Crypto.RSA() )
        {
            test.GenerateKeys( 1024, 65537, null, null );

            string privKey = test.PrivateKeyAsPEM;
            string pubKey = test.PublicKeyAsPEM;

            MessageBox.Show( privKey, "Private Key" );
            MessageBox.Show( pubKey, "Public Key" );
        }
    }

这是我得到的异常错误" SystemTypeInitializationException"。

1 个答案:

答案 0 :(得分:0)

在构建后,输出文件夹中似乎没有libeay32.dll和ssleay32.dll文件。请检查该文件的属性,并确保将“复制到输出目录”标记为“始终复制”。构建过程完成后,文件必须位于x86或x64子文件夹中,具体取决于您所使用的库的版本。