在C#中以编程方式将证书和私钥转换为.PFX

我有一个成功的LetsEncrypt证书请求的.cer文件输出。 我有原始私钥用于为LetsEncrypt创建证书签名请求(CSR)。 现在我们需要使用.NET以编程方式将这两个文件组合成一个用于IIS的PFX包 由于我们试图以编程方式执行此操作pvk2pfx不实用,我们希望尽可能避免使用openssl。 为了演示,我们尝试复制此function,但使用CS .NET而不是pvk2pfx:pvk2pfx.exe -pvk Server.pvk -spc Server.cer -pfx Server.pfx 我已经详尽地研究过了,这里有我看到的可能性: 一种方法似乎是使用X509Certificate2,如: // Import the certficate X509Certificate2 cert = new X509Certificate2(“c:\\cert.cer”); // Import the private key X509Certificate2 cert = new X509Certificate2(“c:\\key.pvk”); // Or import the private key – Alternative method X509DecryptString(token, @”c:\CA.pvk”, “mypassword”); // Export the PFX file certificate.Export(X509ContentType.Pfx, “YourPassword”); File.WriteAllBytes(@”C:\YourCert.pfx”, certificateData); 这里有一些其他的方法,但所有这些方法似乎省略了关于私钥的部分或他们需要pvk2pfx.exe […]

现有应用程序的重新非模态forms

我希望能够在现有的应用程序中显示非模态表单。 目前我可以这样做: myform.ShowDialog(handleToApp); 但是这将创建一个模式forms的应用程序和我正在寻找的东西不是模态的,所以当表单失去焦点时,它不会破坏控制流程并且纠缠用户不被关闭。 有谁知道如何或我是否可以做我正在寻找的东西?

如何实现自定义Windows窗体设计器?

我们如何在WinForms应用程序中实现Windows窗体设计器? Visual Studio使用System.ComponentModel.Design命名空间来实现表单设计器。 我们如何使用它在WinForms应用程序中实现表单设计器? 是否有其他库可用于实现相同的目标?

一列的DataGridview单元格不能有不同的类型

好吧,我有一个datagridview,我有一个列,我想要做的就是控制这个列中的单元格,有时使它成为combobox,有时候是textBox ….等等 我可以让列的单元格只有一种类型,我可以在一列中输入多个单元格吗? 希望很清楚。

SpecialFolder.MyDocuments在控制台应用程序中提供正确的值,但在Windows服务上没有

我的机器上运行了一个Windows服务。 当我做的时候 Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments) 它给了我空字符串,但当我在控制台应用程序中执行相同的操作时,它为我提供了MyDocuments文件夹的正确位置。 关于它为什么会发生的任何想法?

移植VB.NET Winforms应用程序到C#

将VB.NET winforms应用程序移植到C#有什么“好”的资源吗? 我确信有软件只是翻译代码,但我希望同时重构代码。 保持它当前的forms是有问题的,因为它使用了VB.NET允许的一些“糟糕的设计”实践,并且会进一步使未来的维护变得复杂。 这里有没有人经历过这个过程,你是怎么做的? 你使用翻译/重构方法了吗? 您是否只是使用最终产品来重新创建function而不查看大部分当前的代码库? 你(集体)推荐什么? 更新 : 正如我告诉Grauenwolf一样,用当前语言保留它会出现以下问题: 无法轻松添加function。 VB.NET不是一种我坚如磐石的语言。我很欣赏学习语言的讽刺意味 – 但未来的维护将需要考虑那些不懂VB.NET的人。 应用程序的其余部分已移植到C#(事实上很久以前); 我们想要添加的所有function都取决于解耦应用程序(现在它非常紧密耦合)。 我的选择是用一种我不太熟悉的语言重构它,或用我理解的语言重构它。 对于投票问题的任何人,我都不确定你为什么这样做; 关注的不是我是否应该将其留在VB.NET中; 关注的是现在没有移植它的未来成本是多少。 如果我要花费大量精力修复它,为什么不采取额外的步骤并使其可以为未来的程序员维护? 作者注 :我多年没有看过这个问题,最近有一个回复,所以我把’回答’移到了问题中并删除了’回答’(因为它不是真的答案)。

Entity Framework在哪里存储属性名称与它在SQL中选择的列之间的映射?

我正在尝试使用ObjectQuery的ToTraceString()在EF(4.3)上构建一些自定义扩展,以从LINQ代码生成原始SQL。 我注意到在某些情况下,SQL中列的名称与查询元素类型的属性名称匹配,在其他情况下,它们被命名为C1,C2等。这使我很难做任何事情使用生成的SQL。 有谁知道如何将这些列名称映射回属性名称(我只关心能够为平面元组执行此操作,如匿名类型,如果有帮助,我不需要任何分层)。 依赖于私人/内部reflection的解决方案是完全可以接受的。 我知道我可能需要在将来的EF版本中对其进行调整。 此外,我只使用MS SqlServer(2008+),如果它有帮助。

iOS上不支持全局支持PushAsync,请使用NavigationPage

当我处理ListView项目的Tap事件时,一切正常,但是当我在TabbedPage它时,它显示exception请提前解决此问题。 例外:iOS上不支持全局支持PushAsync,请使用NavigationPage。 这是Xaml代码: <!– –> 这是OnClick处理程序: async void Handle_Clicked(object sender, System.EventArgs e) { await Navigation.PushAsync(new Page1()); }

TableLayoutPanel大小调整

我可能没有使用正确的控件来满足我的需求。 我正在填充一个带控件的表,我希望每列自动调整其中包含的控件的大小。 例如,一列文本框将比一列复选框宽。 由于不同操作系统的复杂性,不同的DPI,不同的字体等,我不想摆弄测量是否可以帮助它。桌子可以水平扩展以适应控件,带有滚动条。 如何通过TableLayoutPanel或其他控件实现这一点? 谢谢。 编辑添加代码: private void UpdateLocations() { tableLayoutPanel1.RowCount = CurrentSchedule.location.Length + 1; tableLayoutPanel1.ColumnCount = 7; int row = 1; int timeWidth = TextRenderer.MeasureText(“00:00:00x”, tableLayoutPanel1.Font).Width; Label lab = new Label(); lab.Text = “Location”; tableLayoutPanel1.Controls.Add(lab, 0, 0); lab = new Label(); lab.Text = “Arrive”; tableLayoutPanel1.Controls.Add(lab, 1, 0); lab = new Label(); lab.Text = […]

限制generics集合的大小?

有没有办法限制generics集合的大小? 我有一个WriteableBitmap堆栈,我用它来存储每个更改的WriteableBitmap克隆,这意味着我可以通过简单地从堆栈弹出最近的WriteableBitmap来轻松撤消。 问题是内存使用情况,我想限制此堆栈以容纳10个对象,但我看不到允许我轻松执行此操作的属性。 有没有办法,或者我将不得不检查每次更改时的堆栈大小,并在每次打10时将最后10个对象复制到新堆栈中,以及每次后续更改? 我知道怎么做,但希望有一个更简单的方法,是吗?