В настоящее время я разрабатываю код интеграции, в котором перед отправкой XML-запроса мне нужно подписать его цифровой подписью.Я много исследовал его.
Исходный xml:
<?xml version ="1.0" encoding="utf-8">
<command>
some xml
</command>
Результирующий xml должен быть:
<?xml version="1.0" encoding ="utf-8">
<command>
some xml...
<signature>
some signature value...
</signature>
</command>
Код, который я использую:
`SecureRandom secureRandom = new SecureRandom();
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("DSA");
KeyPair keyPair = keyPairGenerator.generateKeyPair();
Signature signature = Signature.getInstance("SHA1WithRSA");
signature.initSign(keyPair.getPrivate(), secureRandom);
byte[] data = myxmlstring.getBytes("UTF-8");
signature.update(data);
byte[] digitalSignature = signature.sign();
- Вся помощь показывает мне код выше.
- Я совершенно новичок в Javaкриптография.
- Я должен подписать xml с помощью закрытого ключа и предоставить открытый ключ промежуточному программному обеспечению для проверки.
- Мне нужно понять, как генерировать хранилище ключей, пару ключей и сертификаты, использоватьключи и как поделиться открытым ключом с промежуточным программным обеспечением.