在数据库中存储X509证书
为了访问Web服务,我需要证书. 我生成了我的证书: openssl genrsa 1024 > private.key openssl req -new -x509 -nodes -sha1 -days 1100 -key private.key > public.cer 然后将这两个合并到PFX证书中 openssl pkcs12 -in public.cer -inkey private.key -export -out client.pfx 然后将我的pfx文件加载为x509certificate2 X509Certificate2 clientCert = new X509Certificate2("cert.pfx", "password"); 现在,我想在包含以下字段的数据库中创建一个表: PrivateKey NVARCHAR PublicCer NVARCHAR Password NVARCHAR 然后,从pri
0 2024-04-18
编程技术问答社区
C# 平行代码与线程代码 线程代码的性能
我一直在测试system.threading.parallel vs螺纹的性能,我很惊讶地看到并行时间比线程更长的时间完成任务.我确定这是由于我对平行的了解有限,我才开始阅读. 我想我会分享一些片段,如果有人可以向我指出,Paralle代码正在运行较慢与螺纹代码.还试图进行相同的比较以查找质数并发现并行代码完成比线程代码晚得多. . public class ThreadFactory { int workersCount; private List threads = new List(); public ThreadFactory(int threadCount, int workCount, Action action) { workersCount = threadCount; int totalWorkLoad = workCount
0 2024-04-18
编程技术问答社区
在C#中以编程方式将证书和私钥转换为.PFX
我从成功的Letsencrypt证书请求中输出.cer文件. 我有用于创建letsencrypt的证书签名请求(CSR)的原始私钥. 现在,我们需要将这两个文件组合到使用.NET 的IIS的PFX捆绑包中 ,由于我们正在尝试以编程方式进行PVK2PFX进行此操作,因此,我们希望避免使用OpenSSL. 为了证明,我们正在尝试复制此功能,但使用CS .NET代替PVK2PFX: pvk2pfx.exe -pvk server.pvk -spc server.cer.cer.cer.pfx server.pfx 我已经进行了详尽的研究,这是我看到的可能性: 一种方法似乎正在使用x509certificate2类似: // Import the certificate X509Certificate2 cert = new X509Certificate2("c:\\cert.cer"); // Import the private key X509C
4 2024-04-14
编程技术问答社区
等待一个具有OnlyOnFaulted延续性的任务会导致一个AggregateException
我有一些简单的代码作为repro: var taskTest = Task.Factory.StartNew(() => { System.Threading.Thread.Sleep(5000); }).ContinueWith((Task t) => { Console.WriteLine("ERR"); }, TaskContinuationOptions.OnlyOnFaulted); try { Task.WaitAll(taskTest); } catch (AggregateException ex) { foreach (var e in ex.InnerExceptions) Console.WriteLine(e.Message + Environment.NewLine + e.StackTrace); } 但是,我会在尝试捕获块中获得意外的TaskCanceLedException(它在Expregat
0 2024-04-14
编程技术问答社区
如何从pfx/cer创建一个snk?
微软似乎创建了一个认证丛林,很难理解. Microsoft X.509证书(.cer) 个人信息交换(.pfx) 汇编签名密钥属性(.snk) 建议基于PFX或CER创建SNK文件吗? (不确定是否可能,如果可能的话如何完成?) 虽然可以使用密码保护的PFX签名组件,但 不过,除非与SNK签名,否则似乎并不强烈 反而.但是SNK没有密码保护.哪一个更安全 使用?由于我是项目中唯一的开发人员,所以我没有 多开发人员Saftey环境问题,但仍然想 知道什么是最好的方法. 非常感谢, 解决方案 对您提到的文件类型有所澄清: .cer -files是X.509证书 .pfx -files使用基于密码的对称键加密X.509证书,另请参见 pkcs#12(wikipedia) .snk -files仅包含RSA密钥(仅公共/私人或公共) 使用 .pfx -files或 .snk -files签名,它将被强烈命名. 将RSA密钥存储为加密证书(
0 2024-04-12
编程技术问答社区
使用blockingcollection和tasks.net 4 TPL的经典生产者消费者模式
请参阅下面的伪代码 //Single or multiple Producers produce using below method void Produce(object itemToQueue) { concurrentQueue.enqueue(itemToQueue); consumerSignal.set; } //somewhere else we have started a consumer like this //we have only one consumer void StartConsumer() { while (!concurrentQueue.IsEmpty()) { if (concurrentQueue.TrydeQueue(out item)) {
0 2024-04-12
编程技术问答社区
如何以编程方式将带有证书链的pfx导入证书库?
我正在尝试在我本地计算机的证书存储中以编程方式导入X509证书(PFX/PKCS#12).该特定证书具有一系列证书,认证路径看起来像这样: 根证书CA 组织证书CA 组织2证书CA 我的证书 我使用的代码看起来像这样: cert = new X509Certificate2(pathToCert, password); if (cert != null) { var store = new X509Store(StoreName.My, StoreLocation.LocalMachine); store.Open(OpenFlags.ReadWrite); if (!store.Certificates.Contains(cert)) { store.Add(cert); } } 此代码确实导入了证书,但是它似乎忽略了链条.如果我在商店中检查证书,则仅显示认证路径: 我的证书 但是,当
2 2024-04-12
编程技术问答社区
如何用c#检索pfx文件中的证书?
我已经四处搜索了半天,寻找一种读取.pfx文件并将证书导入 certstore 的方法. 到目前为止,我能够读取.pfx文件X509Certifcate>,并能够在.pfx文件中导入一个证书.到目前为止还不错,但是.pfx文件中有三个证书,当用X509Certificate加载.pfx时,我看不到其他两个证书. 证书用 导出 *个人信息交换-PKCS#12(.pfx) 如果可能的话,将所有证书包括在认证路径中 启用强大的保护(需要IE 5.0,NT 4.0 SP4或更高) 这些是导出证书时选择的选项.我知道有三个证书,因为我手动进入 certstore(MMC)并自己将其导入个人文件夹. 解决方案 您应该能够通过使用X509Certificate2Collection class获得包含 .pfx 文件中证书的集合对象...这是一些C#示例代码: string certPath = ; string
0 2024-04-11
编程技术问答社区
如何以编程方式创建一个有效的、自签名的X509Certificate2,而不是在.NET核心中从文件中加载
我目前要做的是使用openssl生成pfx文件.这会导致不必要的依赖性,尤其是对于Windows用户.因此,我找到了一些有关如何使用Bouncycastle创建自己的证书的示例,但是此库不兼容.NETCore(或者我未能找到兼容的软件包). 因此,是否可以使用Just .Net Core创建自己的自签名X509证书,以避免依赖OpenSSL(或任何其他证书生成外部工具)? 编辑:有人(编辑?)建议这样一个问题如何使用C#?创建一个自签名的证书提供答案.可悲的是,这与.net核心无关.那里接受的答案始于This implementation uses the CX509CertificateRequestCertificate COM object (and friends - MSDN doc) from certenroll.dll to create a self signed certificate request and sign it,这显然不是.NET核心...实
0 2024-04-11
编程技术问答社区
当用X509Certificate2加载pfx文件时,"发生了一个内部错误"。
我正在尝试使用自签名证书(C#): X509Certificate2 cert = new X509Certificate2( Server.MapPath("~/App_Data/myhost.pfx"), "pass"); 在共享的Web托管服务器上,我有一个错误: System.Security.Cryptography.CryptographicException: An internal error occurred. 堆栈跟踪以 结束 System.Security.Cryptography.CryptographicException. ThrowCryptogaphicException(Int32 hr) +33 System.Security.Cryptography.X509Certificates.X509Utils. _LoadCertFromFile(String fileName, IntPtr passwor
0 2024-04-11
编程技术问答社区
在使用Java SDK从Azure KeyVault下载证书时遇到困难
使用Java SDK从Azure KeyVault下载证书时遇到困难. 下载后,在将其上传到Azure KeyVault中的证书刀片之前,证书无法像原始的HEX编码.pfx文件那样打开.注意:我尝试了带有密码的PFX文件,也尝试了一个没有密码的文件. 下载后,由此产生的十六进制文件373行和14,919个字符,不可打开.上传.pfx十六进制文件是374行和14,947个字符. 有人知道我在做什么错吗?下载后,使用原始密码或空白密码,我得到此错误:test.pfx is not a KeyStore of any of the following recognized types: JCE, JCEKS, PKCS#12, UBER or BCFKS(我使用钥匙店Explorer进行测试) public static void main(String[] args) throws Exception { System.setProperty("AZURE_
24 2024-03-25
编程技术问答社区
azure键保管 - 从钥匙库下载原始PFX
我对关键保险库和证书没有很好的了解,并且在问题上挣扎.我正在利用PFX文件生成JWT令牌来调用外部Web服务.它的工作正常.现在,我需要将PFX存储在密钥库中并执行相同的操作. 我正在使用AZ Devops&AZ CLI命令上传证书 az keyvault certificate import --file $(filename.secureFilePath) --name pfx-cert-name --vault-name "keyvault-name" --password "password" 现在,当我尝试在.NET Core中使用PFX时.我正在使用cearterateclient类和getCertificateasync方法来获取PFX文件的字节数组. var client = new CertificateClient(new Uri(kvUri), new DefaultAzureCredential()); var cert
10 2024-03-25
编程技术问答社区
使用ClickOnce签署PFX密码的VSTS在线构建解决方案
我有一个我正在网上VSTS构建的WPF解决方案. 以下是我的基本构建定义: 在当地的Visual Studio 2017中,我分配了一次点击认证(PFX).一切都在本地建立和编译. 构建失败,以下错误: 无法导入以下密钥文件:.关键文件可能是密码 受保护.要纠正这一点,请尝试再次导入证书或 手动将证书导入当前用户的个人 证书商店. 我需要包括什么设置/步骤,以确保看到PFX文件并设置密码? 解决方案 使用此代码导入证书文件(PowerShell任务): $pfxpath = 'pathtoees.pfx' $password = 'password' Add-Type -AssemblyName System.Security $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 $cert.Import($pfxpath, $pas
2 2024-03-25
编程技术问答社区
如何从Azure导入证书?
我们通过 azure 购买了证书,并希望在相同的 vm 上使用它. 我们只需要 .pfx 文件. 我们几乎尝试了所有内容,我们将获得下一个错误: "您无权获取服务prinicipal信息 需要将钥匙库分配给您的证书.请登录 帐户是订阅的所有者或管理员的管理员 配置密钥库设置的Active Directory." 但是我们有权限... 解决方案 @sasha,这里没有很多细节,我不愿意说明您尝试了所有事情,但是错误消息很明确 - "您无权获得服务主要信息需要". 一些要澄清和检查的事情: 您是否购买了Azure"应用程序服务证书"? "已发行"状态的证书是吗? 您是作为订阅所有者登录还是所有者让您访问其订阅?我相信后者还不够好. 您是否完成了三步验证过程? 如果您完成了所有这些,则您的证书现在存储在Azure密钥库中.创建Azure密钥库时,将有一个高级访问策略选项,可以"启用访问Azure虚拟机进行部署"(请参阅​​图像).它的帮助信息读
0 2024-03-24
编程技术问答社区
在Azure中安装.pfx和.cer
我有一个网站已经使用不同的证书(.pfx和.cer)进行第三方集成. 现在我需要将所有这些移至Azure.我们将使用应用程序服务. 如何将它们安装在Azure上? 有人可以为我提供有关此的网站或文档吗? 问候. 解决方案 您需要将证书上传到管理门户,然后您应该能够与当前的方式相似(在此处猜测). 这是有关如何使用其底部使用证书的示例代码进行演练的链接:其他解决方案 首先,将您作为.pfx文件的证书导出,然后按以下步骤: : 您必须将证书上传到Azure Web应用程序. 这需要是一个PFX文件(包含私钥) 在Azure Portal中,选择您打算使用此证书的WebApp. 在设置中,单击SSL证书 单击上传证书 选择.pfx文件并指定密码. 单击上传上传证书. 您应该在 ssl证书中看到上传的证书刀片. 添加一个名为 weblon_load_certificates 的应用程序设置,其值设置为证书的指标. 证书将安装到工作流程
2 2024-03-24
编程技术问答社区
如何从 Network Solutions 中级和域证书文件中为 Azure 网站创建 PFX 证书导出?
我从Network Solutions网站购买了SSL证书.我收到了4个.crt文件.我相信其中三个是中间证书,第四个是我的网站域名的实际证书. 我尝试使用Digicert实用程序导入实际证书.它在三个中间文件上错误.它使我可以导入域证书并导出PFX文件,但在浏览器中发出警告 - 没有提供发行器链. 我使用运行Windows Server 2008 R2的域控制器在MMC中导入中间认证机构,然后使用域证书的IIS完整证书请求.证书的认证路径现在看起来很合适,但是MMC证书导出向导选项PFX文件已灰色 - 禁用. 我使用MMC证书模板Snap-in创建Web服务器模板的副本,并使用请求处理设置允许检查私有键.在IIS中完成证书请求时,似乎没有使用此模板,因为PFX导出仍然禁用.完整的证书请求不提供选择要使用的证书模板. 我尝试使用证书详细信息,复制以文件选择P7B,其中包括认证路径中的所有证书.完成向导显示导出键设置为否,否则将其更改.保存文件,然后双击以打开它允许
2 2024-03-23
编程技术问答社区
Azure App Service无法验证.pfx文件:证书失败验证,因为无法加载它
多年来,我能够使用openssl creation方法在openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt 但是,现在这样做也提供了此错误: 至少一个证书无效(证书失败验证,因为无法加载.) 这个问题可以解决什么方法? 解决方案 应用程序服务专用证书要求 App Service private certificates must meet 以下要求: 作为密码保护的PFX文件导出,使用Triple des. 进行加密 包含私钥至少2048位长 在证书链中包含所有中间证书和根证书. 选项1:在OpenSSL 3+ 中使用旧版提供商 openssl 3+不再使用des加密作为默认.原始命令需要-legacy和-provider-path(通往legacy.dll的路径)参数附加: openssl pkcs12 -e
2 2024-03-23
编程技术问答社区
带有本地IP的设备的自签名证书
方案: 我们有一个类似于已曝光UI和API的WiFi路由器的设备 该设备将在我们无法控制的任何LAN上运行,就像WiFi路由器在任何房屋上运行一样. 该设备不属于任何域,并且可以通过浏览器的IP地址(即192.168.1.100)访问. 协议应为https 使用的软件是Windows上的.NET Core/Kestrel 目前,我们在所有浏览器中都有警告,告知该设备具有无效的证书. 约束:任何机器(桌面/平板电脑)都可以访问该设备,并且无法在客户端机器中安装或配置任何东西. 问题是: 删除警告的最佳方法是什么?我们读到,私人/本地IPS不能常规证书. 自我签名的证书似乎工作了几天,然后再次出现错误. 解决方案 没有办法发布IP地址的SSL证书;您必须具有创建证书的实际名称.为了获得这样的名称,您需要DNS.由于您无法访问该本地网络的内部DN,因此您必须使用公共DNS服务器. 这假设该网络中的设备确实具有Internet访问权限.如果他们不这样做
0 2024-03-11
编程技术问答社区
如何用iTextSharp对数字签名的pdf进行密码保护?
i m使用C#,ItextSharp.S创建和签署PDF. 传输的PDF在打开时没有问密码? 有人可以告诉我为什么会发生这种情况? 谢谢.. string passprotectedfile = filename; using (Stream input = new FileStream(signedfile, FileMode.Open, FileAccess.Read, FileShare.Read)) { using (Stream output = new FileStream(passprotectedfile, FileMode.Create, FileAccess.Write, FileShare.None)) { PdfReader reader = new PdfR
0 2024-03-11
编程技术问答社区
.net core docker 如何在代码中用httpclient访问pfx证书? 试图从容器中访问一个需要证书的外部api
这就是我如何使用本地机器.我使用此PFX证书从外部API获取数据. services.AddHttpClient("test", c =>{}).ConfigurePrimaryHttpMessageHandler(() => { var handler = new HttpClientHandler { ClientCertificateOptions = ClientCertificateOption.Manual, SslProtocols = SslProtocols.Tls12 } handler.ClientCertificates.Add(newX509Certificate2("pathtopfxcert", "
2 2024-01-08
编程技术问答社区