public override ECParameters ExportParameters() { return(new ECParameters { Curve = ECCurve.CreateFromOid(new Oid("1.3.6.1.4.1.3029.1.5.1")), Q = new ECPoint { X = publicKey.Export(KeyBlobFormat.RawPublicKey), Y = new byte[32] } }); }
/// <summary> /// export to proprietary xml format /// </summary> /// <returns>public key and private key in proprietary xml form, plus with some attributes redundantly expressed in the XML</returns> public string ToXml() { var toser = new CertificateAuthorityForEphemeralCertsXml { SerialNumber = PublicKey.SerialNumber, SubjectName = PublicKey.SubjectName.Name, Expires = PublicKey.GetExpirationDateString(), Thumbprint = PublicKey.Thumbprint, PrivateKeyParameters = DotNetUtilities.ToRSAParameters((RsaPrivateCrtKeyParameters)PrivateKeyBouncy), PublicKeyData = PublicKey.Export(X509ContentType.Cert) }; var sb = new StringBuilder(); using (var sw = new StringWriter(sb)) { var xser = new XmlSerializer(typeof(CertificateAuthorityForEphemeralCertsXml)); xser.Serialize(sw, toser); return(sb.ToString()); } }