首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得SHA-256证书指纹?

如何获得SHA-256证书指纹?
EN

Stack Overflow用户
提问于 2016-01-04 07:37:23
回答 2查看 8.9K关注 0票数 9

如何获得证书的SHA-256指纹?

沙-256证书有两个拇指指纹,我可以检索主拇指指纹,但不能检索SHA-256。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-07 03:58:45

使用:

代码语言:javascript
复制
public static String GetSha2Thumbprint(X509Certificate2 cert)
{
    Byte[] hashBytes;
    using (var hasher = new SHA256Managed())
    {
        hashBytes = hasher.ComputeHash(cert.RawData);
    }
    string result = BitConverter.ToString(hashBytes)
        // This will remove all the dashes in between each two characters
    .Replace("-", string.Empty).ToLower();
    return result;
}

在获得哈希字节之后,您必须进行位转换。

这篇文章也帮助了我:https://stackoverflow.com/questions/11477083/hashing-text-with-sha-256-at-windows-forms

票数 0
EN

Stack Overflow用户

发布于 2016-01-05 06:26:44

如果您想获得证书的SHA-256指纹,您必须做一些手工工作。内置的拇指纹属性仅限于沙一

您必须使用沙256级并计算证书内容的哈希:

代码语言:javascript
复制
using System;
using System.Linq;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;

namespace MyNamespace {
    class MyClass {
        public static String GetSha2Thumbprint(X509Certificate2 cert) {
            Byte[] hashBytes;
            using (var hasher = new SHA256Managed()) {
                hashBytes = hasher.ComputeHash(cert.RawData);
            }
            return hashBytes.Aggregate(String.Empty, (str, hashByte) => str + hashByte.ToString("x2"));
        }
    }
}

并在必要时将此代码转换为扩展方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34586588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档