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???


Reply via email to