public static byte[] generateSignature(SignatureAndHashAlgorithm algorithm, Chooser chooser, byte[] toBeSigned)
throws CryptoException {
switch (algorithm.getSignatureAlgorithm()) {
case ANONYMOUS:
return generateAnonymousSignature(chooser, toBeSigned, algorithm);
case DSA:
return generateDSASignature(chooser, toBeSigned, algorithm);
case ECDSA:
return generateECDSASignature(chooser, toBeSigned, algorithm);
case RSA:
return generateRSASignature(chooser, toBeSigned, algorithm);
case GOSTR34102001:
return generateGost01Signature(chooser, toBeSigned, algorithm);
case GOSTR34102012_256:
case GOSTR34102012_512:
return generateGost12Signature(chooser, toBeSigned, algorithm);
default:
throw new UnsupportedOperationException("Unknown SignatureAlgorithm:"
+ algorithm.getSignatureAlgorithm().name());
}
}