草庐IT

openssl-cli

全部标签

c++ - 混合模式程序集(C++/CLI 项目)能否在 .NET Core 上运行?

我有一个使用C++/CLI项目的代码库,该项目通过瘦包装类将C++类公开给CLR。例如……C++项目中的C++代码classFoo{publicFoo(boolwat){/*dothethings*/}};混合模式程序集中的C++/CLI代码(C++/CLI项目)publicrefclassManagedFoo{Foo*foo;public:ManagedFoo(boolwat){foo=newFoo(wat);}!ManagedFoo(){deletefoo;}~ManagedFoo(){this->!ManagedFoo();}};据我所知,混合模式程序集几乎只能在Windows.

c++ - 我可以从 WPF UserControl 创建 ActiveX 控件并在非 CLI C++ 应用程序中使用吗?

我创建了一个可以作为ActiveX控件公开的Windows窗体UserControl。现在我正在尝试对WPFUserControl做同样的事情。我注意到的WinformsUserControl基类是ComVisible,但WPFUserControl类不是。我是在尝试做不可能的事情吗?实现此目的的唯一方法是编写WPF控件,然后使用ElementHost将其嵌入到WinformsUserControl中,然后将该WinformsUserControl公开为ActiveX控件吗? 最佳答案 是的,我认为ElementHost是您需要使用

c++ - OpenSSL 证书缺少 key 标识符

我如何将这些部分添加到证书中(我使用C++手动构建它)。X509v3SubjectKeyIdentifier:A4:F7:38:55:8D:35:1E:1D:4D:66:55:54:A5:BE:80:25:4A:F0:68:D0X509v3AuthorityKeyIdentifier:keyid:A4:F7:38:55:8D:35:1E:1D:4D:66:55:54:A5:BE:80:25:4A:F0:68:D0目前我的代码构建证书很好,除了那些键..:/staticX509*GenerateSigningCertificate(EVP_PKEY*pKey){X509*x;x=X509

c++ - OpenSSL 客户端不发送客户端证书

我正在努力解决客户端证书问题,希望这里有人可以帮助我。我正在使用boostasio开发客户端/服务器对,但我会尽量不具体。我在Windows上使用openssl1.0.1e基本上,我想通过使用客户端证书进行客户端身份验证。服务器只接受拥有由我自己的CA签名的证书的客户端。所以我设置了一个自签名CA。这又颁发了两个证书。一个用于客户端,一个用于服务器。两者均由CA签署。我现在已经这样做了很多次,我相信我能做到。我的服务器端也工作正常。它请求客户端证书,如果我使用s_client并提供这些证书,一切正常。此外,如果我使用浏览器并将我的根CA安装为受信任的,然后导入客户端证书。我唯一无法开始

c++ - 使用 OpenSSL 查询 X509 证书的扩展

我正在使用OpenSSL库的X509证书类,我需要查询“key用法”扩展。在放弃OpenSSL的vapourware“文档”之后,一些暗网搜索最终显示我需要调用X509_get_ext_d2i(X509*x,intnid,int*crit,int*idx)并搜索objects.hheader显示了正确的NID。问题是,这个调用返回一个指向void的指针,它显然可以指向各种结构,具体取决于请求的扩展。由于这些似乎都没有记录在案,因此没有办法弄清楚如何解析函数返回的内容。谁能给我指出一份真正讨论这个的文件,而不是仅仅列出我可以自己找到的东西(功能配置文件,它来自哪个文件,等等)?

c++ - OpenSSL:RSA 加密/解密、 key 生成和 key 持久性

我正在尝试构建一个需要以下内容的p2p应用程序,在OpenSSL中使用RSA:-Encryption-Decryption-GeneratingKeys(done)-Savingandloadingkeys(done)-SavingthePUBLICkeyasbytessoitcanbesentoverthesockets-Loadingkeysfromtheaboveformat我已选择使用EVP功能,无论这意味着什么。然而,我很难找到我需要使用哪些功能来做这些事情,以及以什么顺序。OpenSSL的官方文档似乎不存在。有谁知道我需要按什么顺序使用哪些功能以及它们的原型(prototy

c++ - AccessViolationException读取从C++/CLI DLL在C++应用程序中分配的内存

我有一个C++/CLIDLL的C++客户端,它初始化了一系列C#dll。这曾经工作。失败的代码未更改。引发异常之前,不会调用已更改的代码。我的编译环境发生了变化,但是在一台与我的旧环境类似的计算机上重新编译仍然失败。(编辑:正如我们在答案中看到的那样,这并非完全正确,我只是在旧环境中重新编译了库,而不是库和客户端一起重新编译。客户端项目已升级,无法轻易返回。)除了我之外,有人重新编译了库,然后我们开始遇到内存管理问题。ThepointerpassedinasaStringmustnotbeinthebottom64Koftheprocess'saddressspace.我重新编译了它,

c++ - native 数组的 Memcpy 到 C++ CLI 中的托管数组

我这样做对吗?我得到一个指向native数组的指针,需要复制到托管数组。将memcpy()与pin_ptr结合使用。unsignedchar*pArray;unsignedintarrayCount;//getpArray&arrayCount(fromaCOMmethod)ManagedClass->ByteArray=gcnewarray(arrayCount)pin_ptrpinPtrArray=&ManagedClass->ByteArray[0];memcpy_s(pinPtrArray,arrayCount,pArray,arrayCount);arrayCount是pAr

asp.net - ASP.NET 中的 C++/CLI 组件出现 "module could not be found"错误

我必须在我的一个ASP.NET项目中包含一个(托管的)C++/CLI组件,它自身引用了一些其他(非托管的)C++DLL。应该没问题-.NET3.5在编译项目时很高兴,一切似乎都很好。C++/CLI组件和其他C++DLL由另一个部门在VisualStudio2005中使用“任何CPU”编译为发布版本。安装了VC++2005Redistributable包。当我在普通的.NET控制台应用程序中运行相同的代码时,它可以毫无问题地工作。现在虽然此代码在控制台应用程序中运行,但它没有被ASP.NET正确托管-它会导致初始页面加载错误(甚至在进入Global.asax之前)。为了测试和调试,我使用

C++ CLI System.String^ 到 MFC LPCTSTR

如何将系统(.net)C++\CLIString^转换为MFCC++LPCTSTR字符串。将LPCTSTR转换为String^非常容易,但到目前为止还没有找到相反的方法。 最佳答案 如果您有VisualStudio2008或更高版本,您应该能够使用C++/CLI编码(marshal)处理库来执行此操作,如下所示:#includeusingnamespaceSystem;usingnamespacemsclr::interop;...String^cliString;marshal_contextcontext;LPCTSTRcstr