Я предполагаю разработать приложение на основе SMIME на JAVA. Это определенные области, где мне нужно больше разъяснений по поводу SMIME en / de-crypttion. Я понял, как шифрование сообщений и расшифровка в случае единственного получателя.
Если есть только один получатель
- Случайно сгенерированный сеансовый ключ, используемый для шифрования содержимого сообщения.
- Затем этот случайный сеансовый ключ будет зашифрован с использованием открытого ключа получателя, а затем отправлено сообщение SMIME.
- Зашифрованное сообщение будет расшифровано с использованием закрытого ключа получателя и получит сеансовый ключ, используемый для шифрования сообщения на стороне получателя.
Если получателей несколько, то
- Случайно сгенерированный сеансовый ключ, используемый для шифрования содержимого сообщения.
- Если сообщение отправляется нескольким получателям, симметричный ключ шифруется отдельно открытым ключом каждого получателя. Обернутое сообщение и все зашифрованные симметричные ключи упаковываются вместе с использованием формата PKCS # 7.
- Затем этот случайный сеансовый ключ будет зашифрован с использованием открытого ключа каждого получателя, а затем отправлено сообщение SMIME.
Если несколько получателей зашифровали сеансовый ключ с одним и тем же сообщением,
- Как происходит расшифровка на стороне получателя?
- Получатель повторяет весь зашифрованный сеансовый ключ и пытается расшифровать сеансовый ключ?
- Если получателей 50, то нужно ли получателю расшифровать весь зашифрованный текст получателя для сеансового ключа?
Может ли кто-нибудь помочь мне найти какой-либо полезный ресурс или дать ответ на мой вопрос?