Как проверить цифровую подпись в сообщении Java? - PullRequest
3 голосов
/ 14 января 2020

Я пытаюсь создать собственный обработчик почты для Jira на Java, который должен проверять цифровую подпись сообщения, если это сообщение имеет подпись. Но я не могу понять, как это сделать.

  1. У меня есть javax.mail.Message message и как я могу проверить, есть ли у него подпись?

  2. И если сообщение имеет подпись, чтобы проверить это, как я понимаю, я должен сделать что-то вроде этого:

//create a Signature instance
 Signature signature = Signature.getInstance("SHA256withRSA");
//initialize the Signature object for verification which takes a public key
signature.initVerify(publicKey);
//add the received message bytes to the signature object
String body = MailUtils.getBody(message);
byte[] messageBytes = body.getBytes(); 
signature.update(messageBytes);
//And finally, check the signature
boolean isCorrect = signature.verify(receivedSignature);

Но как я могу получить алгоритм, publicKey и receiveSignature из полученного сообщения javax.mail.Message?

...