c# - 将 FileUpload 转换为 X509Certificate2

标签 c# file-upload encryption certificate digital-certificate

如何将上传的文件转换为 X509Certificate2 变量?

我试过使用下面的代码,但它不起作用:

public bool hasPublicKey(FileUpload file)
{
    bool check = false;

    try
    {
         X509Certificate2 cert = (X509Certificate2)file.PostedFile.InputStream;
    }
    catch(Exception)
    {
         check = false;
    }
 }

最佳答案

如果上传的文件是有效证书,您应该查看 constructorImport X509Certificate2 类中的方法。

你会发现你需要这样的东西:

var fileLength = file.PostedFile.ContentLength;
var certdata = new byte[fileLength];

file.FileContent.Read(certData, 0, fileLength);

var cert = new X509Certificate2(certData);

(代码未经验证,但它或非常相似的东西应该可以工作)。

关于c# - 将 FileUpload 转换为 X509Certificate2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16346438/

相关文章:

javascript - PhantomJS 文件上传不适用于 XPath 表达式

java - Spring MVC - AngularJS - 文件上传 - org.apache.commons.fileupload.FileUploadException

java - WebSphere 自定义密码加密

encryption - Protect.exe 用于 AutoLISP 代码保护

c# - 如何通过动态 lambda 和 IL 创建对象的新实例?

c# - 考虑为游戏开发切换语言?我是不是该?

file-upload - 如何像传统方式一样使用 AngularJs 上传文件

java - 使用PBKDF2 java解密和加密

java - C# 相当于 Java 类级别字段

c# - 比较不同表中的数据并添加到第三个表的最有效方法