C# AS2 Protocol
C# хочу написать as2 over http, и такой вопрос.
Если смотреть на то как он работает:

То видно что нужно сделать DIGEST, вопрос это digital signature? Если да, то я не понимаю что происходит)
Вопрос, я повинен подписать с помощю своего private key документ до отсылки? А потом сделать Encrypt с помощю public key(сертификата).
Теперь вопрос допустим я это сделал ) И я тепер получатель сообщения.
Ко мне пришло сообщение, допустим я делаю DECRYPT, а потом каким образом сделать VERIFY? если я не знаю текст сообщение, а знаю его digital signature? ну типа у меня захешированые сообщение)
Типа я не понимаю как проиходит DIGEST, SIGN <-> VERIFY, DIGEST
типа нужно в http (body) подать хеш и отдельно текст? или как это работает ) я запутался) помогите пж)