你所在位置:首页Asp.net开发 → .NET使用OpenSSL生成的pem密钥文件(增加size为2048的密钥转换)

.NET使用OpenSSL生成的pem密钥文件(增加size为2048的密钥转换)

发布时间:2019-07-12

上篇随笔 .NET使用OpenSSL生成的pem密钥文件【做电子商务的朋友可能需要】 的算法只支持1024位的密钥文件导入.NET,今天把2048位的支持加上:

using System;
using System.Text;
using System.Security.Cryptography;
using System.Web;
using System.IO;

namespace Thinhunan.Cnblogs.Com.RSAUtility
{
    /// <summary>
    /// Author https://thinhunan.cnblogs.com
    /// </summary>
    public class PemConverter
    {
        /// <summary>
        /// 将pem格式公钥(1024 or 2048)转换为RSAParameters
        /// </summary>
        /// <param name="pemFileConent">pem公钥内容</param>
        /// <returns>转换得到的RSAParamenters</returns>
        public static RSAParameters ConvertFromPemPublicKey(string pemFileConent)
        {
            if (string.IsNullOrEmpty(pemFileConent))
            {
                throw new ArgumentNullException("pemFileConent", "This arg cann't be empty.");
            }
            pemFileConent = pemFileConent.Replace("-----BEGIN PUBLIC KEY-----", "").Replace("-----END PUBLIC KEY-----", "").Replace("\n", "").Replace("\r", "");
            byte[] keyData = Convert.FromBase64String(pemFileConent);
            bool keySize1024 = (keyData.Length == 162);
            bool keySize2048 = (keyData.Length == 294);
            if (!( keySize1024
上一篇:asp.net 压缩解压缩zip文件
下一篇:.NET使用OpenSSL生成的pem密钥文件【做电子商务的朋友可能需要】