如何在C#中用Bouncy Castle导出Pkcs10CertificationRequest到.pem文件?
导出Pkcs10CertificationRequest为PEM文件(Bouncy Castle C#)
直接用PemWriter配合流操作就能搞定,以下是可直接运行的代码示例:
using Org.BouncyCastle.OpenSsl; using Org.BouncyCastle.Pkcs; using System.IO; // 替换成你已经创建好的Pkcs10CertificationRequest实例 Pkcs10CertificationRequest yourCsr = GenerateYourCsr(); // 写入到指定路径的PEM文件 using (var streamWriter = new StreamWriter("your_csr.pem")) using (var pemWriter = new PemWriter(streamWriter)) { pemWriter.WriteObject(yourCsr); pemWriter.Writer.Flush(); }
可能踩坑的点
- 确认你安装的是最新版BouncyCastle.Cryptography NuGet包,旧版本的命名空间或API可能存在差异
- 检查
Pkcs10CertificationRequest实例是否已正确初始化(比如包含公钥、签名等必要信息) - 确保目标文件路径有写入权限,避免因权限不足导致写入失败
- 必须用
using语句管理流,或者手动调用Close(),否则可能出现文件内容为空或损坏的情况
如果之前用PemWriter失败,大概率是流没正确关闭或者没调用Flush(),上面的代码通过using自动释放资源,同时显式刷新缓冲区,能避免这类问题。
内容的提问来源于stack exchange,提问作者Fiallo
相关产品推荐
相关产品推荐

