чем отличаются открытые ключи

Я пытался создать открытый ключ двумя способами:

  1. Я создал самоподписанный сертификат и экспортировал его в файл .pfx и использовал Openssl для получения файла temp.cer, который содержит открытый ключ.

  2. использовал openssl для генерации открытого ключа следующим образом.

    openssl genrsa -out myjira.pem 1024
    
    openssl rsa -in temp.pem -pubout -out temp.pub
    

Я использую приложение и пытаюсь реализовать на нем OAuth. когда я ввожу открытый ключ из temp.cer (который длиннее), он не принимает его и говорит Должен быть действительный открытый ключ. java.security.InvalidKeyException:. Но когда я ввожу открытый ключ из temp.pub (который намного короче другого), он его принимает. теперь мой вопрос: в чем разница между этими открытыми ключами?


person user217648    schedule 26.09.2013    source источник


Ответы (2)


Файл сертификата содержит открытый ключ, а также идентификационную информацию, связанную с этим ключом посредством подписи. Вот почему ваш файл сертификата длиннее вашего файла открытого ключа.

Если вы загружаете сертификат в X509Certificate, вы можете получить PublicKey, используя метод getPublicKey() объекта X509Certificate.

person gtrig    schedule 26.09.2013
comment
Спасибо, вы правы, я загрузил файл .cer в X509Certificate2. Как вы сказали, у него есть открытый ключ, но нет закрытого ключа. Можно ли создать файл .cer из моих файлов .pub и .pem, чтобы он содержал как закрытый, так и открытый ключ? - person user217648; 27.09.2013
comment
Моя проблема - Jira, я пытаюсь реализовать OAut. Jira принимает открытый ключ и принимает ТОЛЬКО открытый ключ, сгенерированный openssl rsa -in temp.pem -pubout -out temp.pub. и мой клиент oauth должен использовать закрытый ключ. Мне нужно создать файл .pfx из открытого ключа и закрытого ключа, чтобы загрузить его с помощью X509Certificate, который загружает файл .pfx. - person user217648; 27.09.2013
comment
@ user217648, взгляните на этот SO вопрос при создании файлов pfx из ключа и сертификата. - person gtrig; 27.09.2013

Похоже, что более длинный из ваших ключей на самом деле является закрытым ключом. Обычно у вас есть пара ключей, закрытый и открытый ключ.

дополнительная информация: http://en.wikipedia.org/wiki/Public-key_cryptography

person floodpants    schedule 26.09.2013
comment
обычно файлы .cer, содержащие открытые ключи, не так ли? Файл .cer содержит -----НАЧАТЬ СЕРТИФИКАТ----- и -----КОНЕЦ СЕРТИФИКАТА----- - person user217648; 26.09.2013