private static void WriteKeyBag(EncryptionMethod p, DerWriter wr) { wr.WriteOID(PKCS12KeyBag); using (wr.BeginTaggedObject(0)) { using (wr.BeginSequence()) { p.WritePrivateKey(wr); } } using (wr.BeginSet()) { using (wr.BeginSequence()) { wr.WriteOID(PKCS12LocalKeyID); using (wr.BeginSet()) { wr.WriteOctetString(new byte[] { 1 }); } } using (wr.BeginSequence()) { wr.WriteOID(PKCS12FriendlyName); using (wr.BeginSet()) { wr.Write("Certificate1"); } } } }
private static void WriteX509Cert(byte[] cert, EncryptionMethod p, DerWriter wr) { wr.WriteOID(PKCS12X509Certificate); using (wr.BeginTaggedObject(0)) { wr.WriteOctetString(cert); } }
public override void WritePrivateKey(DerWriter wr) { wr.WriteInteger(0); using (wr.BeginSequence()) { wr.WriteOID(EcPublicKey); wr.WriteOID(m_curveOID); } using (wr.BeginOctetString()) { using (wr.BeginSequence()) { wr.WriteInteger(1); wr.WriteOctetString(d); using (wr.BeginTaggedObject(0)) { wr.WriteOID(m_curveOID); } } } }
private static void WriteCertBag(byte[] cert, EncryptionMethod p, DerWriter wr) { wr.WriteOID(PKCS12CertBag); using (wr.BeginTaggedObject(0)) { using (wr.BeginSequence()) { WriteX509Cert(cert, p, wr); } } using (wr.BeginSet()) { using (wr.BeginSequence()) { wr.WriteOID(PKCS12LocalKeyID); using (wr.BeginSet()) { wr.WriteOctetString(new byte[] { 1 }); } } } }