Example #1
0
        public void init(bool forSigning, CipherParameters param)
        {
            this.forSigning = forSigning;

            AsymmetricKeyParameter k;

            if (param is ParametersWithRandom)
            {
                k = (AsymmetricKeyParameter)((ParametersWithRandom)param).getParameters();
            }
            else
            {
                k = (AsymmetricKeyParameter)param;
            }

            if (forSigning && !k.isPrivate())
            {
                throw (new Exception("Signing Requires Private Key."));
            }

            if (!forSigning && k.isPrivate())
            {
                throw (new Exception("Verification Requires Public Key."));
            }

            reset();

            dsaSigner.init(forSigning, param);
        }