I have the following code:
RSASS<PKCS1v15, SHA>::Verifier verf1(Kpub);
RSASS<PKCS1v15, SHA256>::Verifier verf2(Kpub);
RSASS<PSS, SHA256>::Verifier verf3(Kpub);
switch(schema)
{
case RSA_SHA1:
result = verf1.VerifyMessage(....)
case RSA_SHA256:
result = verf2.VerifyMessage(....)
case RSA_PSS_SHA256:
result = verf3.VerifyMessage(....)
}
That I would like to change for something more dynamic, like the following
pseudo-code:
switch(schema)
{
case RSA_SHA1:
verf = new RSASS<PKCS1v15, SHA>::Verifier;
case RSA_SHA256:
verf = new RSASS<PKCS1v15, SHA256>::Verifier;
case RSA_PSS_SHA256:
verf = new RSASS<PSS, SHA256>::Verifier;
}
verf.LoadPublicKey(Kpub);
verf.VerifyMessage(.....);
Any ideas how???