微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

以编程方式将SSL证书绑定到端口

我正在使用自加载的WCF服务进行encryption通信。 当证书已经绑定到端口时,一切正常,如下所述。

但是,我想避免要求用户运行命令行工具。 有没有一种方式的绑定可以通过编程来完成? 也许使用WMI?

我应该在哪里存储适用于非漫游用户的机器范围的应用程序设置?

.NET中安全身份的本地化

MonoDevelop for Linux在Linux上的应用程序

从Windows服务启动一个Windows应用程序

如何通过Windows应用程序或Web应用程序调用代码来识别代码

我相信创建HTTP.SYS命名空间预留的方式是通过HttpSetServiceConfiguration ()非托管API; 所以你需要一些P / Invoke的。 有一些示例代码在Keith brown的MSDN列中可能有用。

MSDN文档 Keith brown的MSDN专栏和pinvoke.net让我获得了大部分的方法。 但是,在HTTP_SERVICE_CONfig_SSL_KEY中获取PSOCKADDR是非常棘手的。 我发现Beej的网络编程指南对搞清楚它应该是什么样子非常有帮助。 我能够使用.NET SocketAddress,然后将字节复制到可能编组的数组中。

// serialize the endpoint to a SocketAddress and create an array to hold the values. Pin the array. SocketAddress socketAddress = ipEndPoint.Serialize(); byte[] socketBytes = new byte[socketAddress.Size]; GCHandle handleSocketAddress = GCHandle.Alloc(socketBytes,GCHandleType.Pinned); // Should copy the first 16 bytes (the SocketAddress has a 32 byte buffer,the size will only be 16,which is what the SOCKADDR accepts for (int i = 0; i < socketAddress.Size; ++i) { socketBytes[i] = socketAddress[i]; }

是的,但是您必须自己使用HTTP API ,而目前没有.NET包装器,所以您必须使用P / Invoke。 具体而言,我认为你正在寻找与HttpServiceConfigSSLCertInfo配置ID的HttpSetServiceConfiguration 。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐