About the author
Given that there is a DSA public key, declared as follows, and that it is an instance of DSAPublicKeyImpl, we can derive and calculate the DSA private key.
PublicKey pubKey...
DSAPublicKeyImpl dsakey = (DSAPublicKeyImpl) pubKey;DSAParams dsaparams = dsakey.getParams();BigInteger G = dsaparams.getG();BigInteger P = dsaparams.getP();BigInteger Q = dsaparams.getQ();
And after calculating X, where X is declared as BigInteger X...
Thus, we can calculate the DSA private key as follows:
DSAPrivateKey dsapriv = new DSAPrivateKey(X, P, Q, G);
Continued discussion of undocumented Delphi 8 Property Access Specifiers, and other ways of adding and removing delegates / events handlers, including clearing the list of all the delegates / event handlers.