/** * Convert this signature to a proto * * @return a protobuf object representing this IdemixSignature */ public Signature ToProto() { Signature s = new Signature { APrime = aPrime.ToProto(), ABar = aBar.ToProto(), BPrime = bPrime.ToProto(), Nym = nym.ToProto(), ProofC = ByteString.CopyFrom(proofC.ToBytes()), ProofSSk = ByteString.CopyFrom(proofSSk.ToBytes()), ProofSE = ByteString.CopyFrom(proofSE.ToBytes()), ProofSR2 = ByteString.CopyFrom(proofSR2.ToBytes()), ProofSR3 = ByteString.CopyFrom(proofSR3.ToBytes()), ProofSRNym = ByteString.CopyFrom(proofSRNym.ToBytes()), ProofSSPrime = ByteString.CopyFrom(proofSSPrime.ToBytes()), Nonce = ByteString.CopyFrom(nonce.ToBytes()), RevocationEpochPk = revocationPk, RevocationPkSig = ByteString.CopyFrom(revocationPKSig), Epoch = epoch, NonRevocationProof = nonRevocationProof }; foreach (BIG attr in proofSAttrs) { s.ProofSAttrs.Add(ByteString.CopyFrom(attr.ToBytes())); } return(s); }
/** * @return A proto version of this issuer public key */ public IssuerPublicKey ToProto() { IssuerPublicKey ipc = new IssuerPublicKey { ProofC = ByteString.CopyFrom(ProofC.ToBytes()), ProofS = ByteString.CopyFrom(ProofS.ToBytes()), W = W.ToProto(), HSk = Hsk.ToProto(), HRand = HRand.ToProto(), Hash = ByteString.CopyFrom(Hash), BarG1 = BarG1.ToProto(), BarG2 = BarG2.ToProto() }; foreach (string attributeName in AttributeNames) { ipc.AttributeNames.Add(attributeName); } foreach (ECP ecp in HAttrs) { ipc.HAttrs.Add(ecp.ToProto()); } return(ipc); }