private ProofOfPossession(Asn1TaggedObject tagged)
        {
            tagNo = tagged.TagNo;
            switch (tagNo)
            {
            case 0:
                obj = DerNull.Instance;
                break;

            case 1:
                obj = PopoSigningKey.GetInstance(tagged, false);
                break;

            case 2:
            case 3:
                obj = PopoPrivKey.GetInstance(tagged, false);
                break;

            default:
                throw new ArgumentException("unknown tag: " + tagNo, "tagged");
            }
        }
 /** Creates a ProofOfPossession for a signing key. */
 public ProofOfPossession(PopoSigningKey Poposk)
 {
     tagNo = TYPE_SIGNING_KEY;
     obj   = Poposk;
 }