В некоторых случаях да, вы можете. Если у вас есть закрытый ключ RSA в формате PEM, это будет извлечь открытый ключ (он не будет генерировать сертификат):
openssl rsa -in key.pem -pubout -out pubkey.pem
Это создаст новый CSR с помощью открытого ключа, полученного из закрытого ключа файл.
openssl req -new -key key.pem -out host.csr
Обратите внимание, что, строго говоря, СА не необходимости вы представить КСО выдать сертификат. Все, что ему нужно, это открытый ключ (к которому он будет иметь доступ через ваш существующий сертификат). Он может потенциально связывать любые DN и атрибуты объекта и выдавать его как сертификат без необходимости связываться с вами. Конечно, такая практика может быть несовместимой с их политикой, но технически это возможно. CSR - это просто удобный формат для отправки открытого ключа для запроса сертификата и отправки имени и атрибутов, которые вы хотели бы (которые вы все подписываете вместе).
SSL install aborted due to error: Modulus mismatch, key file does not match certificate. Please use the correct key file
При условии, что вы сделали операцию сертификата должным образом, это может свидетельствовать о том, что новый сертификат вы были выпущены был выпущено против другой пары ключей, чем ваш. Это может означать нечестную игру, потому что кто-то другой мог бы выпустить CSR со своей собственной парой ключей и иметь этот сертификат, выданный им (что может быть довольно тревожным, поскольку вы говорите также о сертификате EV, который должен иметь дополнительные меры защиты от этого.)
Я бы посоветовал проверить с вашими коллегами, если кто-либо запросил новый сертификат или связался с вашим центром сертификации, чтобы узнать, почему вы получили новый сертификат. Обновление сертификата с использованием предыдущего открытого ключа может быть частью их существующего пакета. Если он использует один и тот же открытый ключ, это не проблема, хотя лучше изменить ключевой материал, т. Е. Отправить CSR, исходящую из новой пары ключей, при обновлении сертификата.