private PopoPrivKey(Asn1TaggedObject obj) { tagNo = obj.TagNo; switch (tagNo) { case 0: this.obj = DerBitString.GetInstance(obj, isExplicit: false); break; case 1: this.obj = SubsequentMessage.ValueOf(DerInteger.GetInstance(obj, isExplicit: false).Value.IntValue); break; case 2: this.obj = DerBitString.GetInstance(obj, isExplicit: false); break; case 3: this.obj = PKMacValue.GetInstance(obj, isExplicit: false); break; case 4: this.obj = EnvelopedData.GetInstance(obj, explicitly: false); break; default: throw new ArgumentException("unknown tag in PopoPrivKey", "obj"); } }
public CertificateRequestMessageBuilder SetProofOfPossessionAgreeMac(PKMacValue macValue) { if (_popSigner != null || _popRaVerified != null || _popoPrivKey != null) { throw new InvalidOperationException("only one proof of possession allowed"); } this._agreeMac = macValue; return(this); }
public ProofOfPossessionSigningKeyBuilder SetPublicKeyMac(PKMacBuilder generator, char[] password) { IMacFactory fact = generator.Build(password); IStreamCalculator calc = fact.CreateCalculator(); byte[] d = _pubKeyInfo.GetDerEncoded(); calc.Stream.Write(d, 0, d.Length); calc.Stream.Flush(); BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.Dispose(calc.Stream); this._publicKeyMAC = new PKMacValue( (AlgorithmIdentifier)fact.AlgorithmDetails, new DerBitString(((IBlockResult)calc.GetResult()).Collect())); return(this); }
public ProofOfPossessionSigningKeyBuilder setPublicKeyMac(PKMacBuilder generator, char[] password) { IMacFactory fact = generator.Build(password); IStreamCalculator calc = fact.CreateCalculator(); byte[] d = _pubKeyInfo.GetDerEncoded(); calc.Stream.Write(d, 0, d.Length); calc.Stream.Flush(); calc.Stream.Close(); this._publicKeyMAC = new PKMacValue( (AlgorithmIdentifier)fact.AlgorithmDetails, new DerBitString(((IBlockResult)calc.GetResult()).Collect())); return(this); }
private PopoSigningKeyInput(Asn1Sequence seq) { Asn1Encodable asn1Encodable = seq[0]; if (asn1Encodable is Asn1TaggedObject) { Asn1TaggedObject asn1TaggedObject = (Asn1TaggedObject)asn1Encodable; if (asn1TaggedObject.TagNo != 0) { throw new ArgumentException("Unknown authInfo tag: " + asn1TaggedObject.TagNo, "seq"); } sender = GeneralName.GetInstance(asn1TaggedObject.GetObject()); } else { publicKeyMac = PKMacValue.GetInstance(asn1Encodable); } publicKey = SubjectPublicKeyInfo.GetInstance(seq[1]); }
public PopoSigningKeyInput(PKMacValue pkmac, SubjectPublicKeyInfo spki) { publicKeyMac = pkmac; publicKey = spki; }