Utilizando clave simétrica (AES -128) para firmar y verificar un mensaje

Quiero saber ¿se pueden usar claves simétricas para firmar un mensaje? Podemos cifrar usando la clave secreta compartida. Además, cuando se usa una clave simétrica para firmar, ¿qué API se puede usar en JAVA para cargar la clave y firmar el mensaje?

si utilicé Firma de java.security, tiene una API initSign pero que toma la clave privada del par de claves pública / privada como argumento para firmar el mensaje. Aquí la clave es clave simétrica.

¿Algún puntero?

Respuestas a la pregunta(3)

Su respuesta a la pregunta