using System.IO;
using bc = Org.BouncyCastle;
namespace PKISharp.WACS.Services
{
public class PemService
{
///
/// Helper function for PEM encoding
///
///
///
public string GetPem(object obj)
{
string pem;
using (var tw = new StringWriter())
{
var pw = new bc.OpenSsl.PemWriter(tw);
pw.WriteObject(obj);
pem = tw.GetStringBuilder().ToString();
tw.GetStringBuilder().Clear();
}
return pem;
}
public string GetPem(string name, byte[] content) => GetPem(new bc.Utilities.IO.Pem.PemObject(name, content));
///
/// Helper function for reading PEM encoding
///
///
///
///
public T? ParsePem(string pem) where T: class
{
using var tr = new StringReader(pem);
var pr = new bc.OpenSsl.PemReader(tr);
return pr.ReadObject() as T;
}
}
}