Я пишу сервер CMP, и у меня есть проблема. Он используется в централизованной PKI, где RA отправляет закрытый ключ с соответствующим сертификатом на сервер, который мы должны передать клиенту CMP.Шифрование закрытого ключа в централизованной PKI с bouncycastle
Проблема в том, что я не могу найти, как мы должны шифровать закрытый ключ, чтобы отправить его клиенту и чтобы он мог его расшифровать. Мы полагаемся только на безопасность https, потому что это звучит неправильно? Я пропустил что-то в RFC CRMF?
Решение, по-моему, могло бы создать временную пару ключей от клиента и использовать его для шифрования/дешифрования, но звучит скорее как взломать, чем способ сделать это правильно.
Это легко сделать, когда клиент является тем, кто генерирует свою пару ключей, но в этом конкретном случае все генерируется нашим OpenTrust RA.
Вы действительно уверены, что RA генерирует закрытый ключ? Например, сообщение CRMF, в частности, не имеет полей для хранения закрытого ключа. –
Вам не нужно отправлять закрытый ключ клиенту. Здесь есть что-то серьезное. Либо это ваш личный ключ, который вы должны хранить в привате, либо это закрытый ключ клиента, который * он * должен сохранять конфиденциальным. Если две стороны имеют один и тот же секретный ключ, вся точка PKI уничтожается. – EJP
Способ, которым он работает, заключается в том, что сервер предоставит CN и пароль CMP, который будет проверять на LDAP, что он имеет право запросить регистрацию. Как только это будет сделано, OpenTrust сгенерирует закрытый ключ и сертификат для клиента. Это делается OT, потому что по закону мы должны секвестрировать копию закрытого ключа. –