我正在开发一个 Windows 8 应用程序,我无法打包证书,因为它是在运行时生成的。是否可以使用动态生成的证书?如果是这样,我可以在 Websocket/StreamSocket 级别使用它吗?
对示例代码的任何引用都会非常有帮助(最好是 C++)
我正在开发一个 Windows 8 应用程序,我无法打包证书,因为它是在运行时生成的。是否可以使用动态生成的证书?如果是这样,我可以在 Websocket/StreamSocket 级别使用它吗?
对示例代码的任何引用都会非常有帮助(最好是 C++)
我正在回答我自己的问题。Windows 8 Metro api 不支持 csr 中的非对称密钥。参考这里:http: //msdn.microsoft.com/en-us/library/windows/apps/hh464944.aspx
除非他们进行更改或可以使用用于 metro 的 openssl 构建,否则我们无法继续。
更新:在证书交换期间也无法检索服务器证书的公钥。根据 Microsoft 员工的最新更新(2012 年 5 月)http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/bbffe488-fc74-4c8b-bed1-adf8fe162449/ 这不受支持特征。
RSA 和其他公钥加密方法通常是安全的,但它们确实依赖于公钥的有效性。因此,有许多证书颁发机构颁发列表公钥http://en.wikipedia.org/wiki/Certificate_authority。当他们这样做时,他们“证明”密钥确实属于声称是所有者的实体。在运行时颁发密钥没有什么意义,因为无法验证密钥是否来自此人。