我可以在 ASP.NET 中使用 X509Certificate2 而不使用证书存储吗?

2023-12-30

我正在尝试在 Rackspace 云中的 ASP.NET Web 服务中使用 X509Certificate。我有一种感觉,存储在云节点上的证书可能会引起问题。我也有一个与此相关的问题,但我收到的问题是使用 iPhone Apple 推送通知提供程序 (apns-sharp) C# 时出现 SslStream.AuthenticateAsClient 异常 https://stackoverflow.com/questions/2094735/sslstream-authenticateasclient-exception-when-using-iphone-apple-push-notificatio

在 apns-sharp 项目中,我使用了以下代码:

certificate = new X509Certificate2(p12File)

但是,我收到了一个异常,并将代码更改为以下内容解决了 X509Certificate2 异常。新代码如下:

certificate = new X509Certificate2(p12File, String.Empty, X509KeyStorageFlags.MachineKeySet);

我想知道是否可以在 ASP.NET 中使用 X509Certificate2 而不使用证书存储?证书存储是否会导致 Rackspace 云节点出现问题?

更新#1Rackspace 告诉我不允许访问本地计算机证书存储。还有其他方法可以绕过使用证书存储吗?也许使用第三方库?


第一个构造函数不起作用的原因是 ASP.NET 不加载用户配置文件存储,如果您不使用指定存储位置,则这是默认存储X509KeyStorageFlags。但是,机器存储始终由 ASP.NET 加载,这就是第二个构造函数起作用的原因。

我假设您打算使用证书上的私钥进行加密或创建数字签名(散列),在这种情况下,您无法避免使用证书存储,因为只能从导入的证书以编程方式访问私钥,并且不直接来自 blob 或文件。

我认为如果证书数据仅包含公钥(因为没有要保护的敏感数据),则不会使用证书存储 - 我注意到,当我打算使用证书时,我只需要指定机器存储包含私钥。

不过,我无法评论 Rackspace 的情况 - 在部分受信任的环境中运行的代码中导入证书可能会出现问题,因为加载私钥容器需要特定的权限,而这些权限可能不会授予您的程序集。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在 ASP.NET 中使用 X509Certificate2 而不使用证书存储吗? 的相关文章

随机推荐

  • 工人经理:不在队列中开始工作

    我有这样的代码 我需要实现任务队列 如果任务在队列中 那么就不需要添加它 我的实现如图所示 一切正常 但有时工作线程的状态仍然处于排队状态 并且新任务不会添加到队列中 就是当没有互联网的时候 我添加一个任务 当互联网出现时 任务开始用完 但
  • BufferedReader.readLine() 等待来自控制台的输入

    我正在尝试从控制台读取文本行 行数事先未知 BufferedReader readLine 方法读取一行 但在最后一行之后 它等待来自控制台的输入 为了避免这种情况应该做什么 请参阅下面的代码片段 public static String
  • 如何使用 JQuery 获取 在表中的位置?

    例如 table tr td 1 1 td td 2 1 td tr tr td 2 1 td td 2 2 td tr table 我想使用以下功能 td click function alert xxxx 得到单击时的位置 但是如何呢
  • 如何有效地跟踪地图上的空间(包括对象和空闲区域)的使用情况

    好的 我从一张空白地图开始 即 512x512 262144 像素 位置 我需要一种方法来有效地在其上绘制一些对象 然后能够找到可用空间区域 以便以后可以将更多不同的对象添加到这些可用区域中 我无法找出存储这些数据的最佳方法 或找到空闲区域
  • 如何在 Isabelle 的 ML 级别轻松编写简单的策略?

    在 Isabelle 理论文件中 我可以编写简单的一行策略 如下所示 apply clarsimp simp split def split prod splits 然而 我发现 当我开始编写 ML 代码来自动化证明 生成 MLtactic
  • For 循环正在跳过一些东西! Python

    我正在尝试运行此代码 以便它为列表的所有元素运行一个函数 出于说明目的 基本上应该打印 Possible Word possible word 对于我的列表中的所有项目 因此 如果我输入 p r s 它将运行打印 3 次 每一项打印一次 我
  • 在生产中调试反应应用程序时无法在控制台中看到我的变量

    我是反应世界的新手 并尝试在我的共享点环境中使用它 我正在使用源映射打包用于生产的应用程序 并将其上传到我将在其中使用它的共享点站点 应用程序在共享点中运行没有问题 但在开发人员工具箱中我无法完全调试它 我可以看到我的 js 文件 放置调试
  • 从 NSDate 获取时间返回 nil

    我试图在图表上显示时间 并且我有一个完整的时间戳 格式为 2012 08 28 18 50 24 当我尝试从该日期获取时间时 它在 NSDate 中返回 nil NSDateFormatter formatter NSDateFormatt
  • 使用 glvertex4i 传递网格面索引时顶点着色器错误

    初始化 GL List 进行处理 glBegin GL POINTS for i 0 i lt faceNum i mesh gt GetFaceNodes i 1 ver 0 ver 1 ver 2 ver 3 glVertex4i ve
  • 帧指针省略?有风险吗?

    我总是在编译器中打开此功能 它在阅读更干净的汇编代码时对调试有很大帮助 我认为它对速度优化方面没有太大影响 使CPU能够进行流水线操作 但至少它确实为寄存器分配提供了新的机会 因此获得了一个新的空闲寄存器EBP 不确定编译器是否会使用它 我
  • EJB 容器中的 ThreadLocal(和 Singleton)

    我编写了一个授权系统 它依赖于代表当前用户的对象 为了简化编程并提高性能 我想在用户登录后将这些对象保存在 ThreadLocal 中 它看起来像这样 public class UserCache private static final
  • C# Diamond-继承(接口实现)

    如果一个类从两个单独的接口实现一个接口 它的行为是否与仅实现一次相同 Example public interface IAnimal public interface IFullAnimal IAnimal public interfac
  • 将枚举值添加到简单的组合框

    我有一个关于 C 和 WPF 的非常简单的问题要问 在我的这次尝试之后 我的问题将随之而来 private void Window Loaded object sender RoutedEventArgs e foreach var ite
  • gdb 上漂亮的打印 boost::unordered_map

    最近我开始在我的系统上使用优秀的 boost unordered map 但有一个缺点 我不知道如何检查其内容 在 gdb 上打印它会给我一个 table 和一个 buckets 但还没有找到这些项目在哪里 有人对此有任何线索吗 对于那些想
  • 将Java线程类放入一个单独的类中

    考虑以下 SWT 代码示例 http dev eclipse org viewcvs index cgi org eclipse swt snippets src org eclipse swt snippets Snippet151 ja
  • Microsoft SQL Server 分析服务 OLAP 多维数据集

    我试图找到一种工具来提高应用程序报告的性能 我听说了 OLAP Reporting Services 它被描述为完成这项工作的绝佳组合 无论如何 我没有找到使 OLAP 多维数据集保持最新的方法 因为原始数据库中的数据可能会更改 这是一个交
  • 为什么代码终止时出现“未找到解决方案”错误和“退出:收敛到局部不可行点。问题可能不可行”?

    我似乎不明白为什么IPOPT无法找到解决方案 最初 我认为这个问题完全不可行 但是当我减少总列数至以下任意号码161000 or 注释掉最后一个约束方程其中包含总列数 它解决并退出Optimal Solution Found and a f
  • Matplotlib:如何再次显示绘图?

    假设我做了一个情节Ipython Notebook 在几个单元格之后 我想再次渲染它 这样我就可以将它与其他图进行比较 我该怎么做 a 1 2 3 4 b 3 4 5 6 fig plt plot a b color black 这将显示情
  • Twig 迭代对象属性

    我在 Twig 文档中读到 可以通过以下方式迭代关联数组 for key value in array key value endfor 我想知道这对于 stdClass 类型的对象是否也可能 我希望 Twig 能够以属性名称作为键来迭代对
  • 我可以在 ASP.NET 中使用 X509Certificate2 而不使用证书存储吗?

    我正在尝试在 Rackspace 云中的 ASP NET Web 服务中使用 X509Certificate 我有一种感觉 存储在云节点上的证书可能会引起问题 我也有一个与此相关的问题 但我收到的问题是使用 iPhone Apple 推送通