locked
Как узнать кодировку сертификата? RRS feed

  • Вопрос

  • Добрый день.
    Есть сертификат без закрытого ключа с расширением .cer. Подскажите пожалуйста как узнать в какой кодировке его экспортировали (DER или Base64)?
    С помощью certutil -dump  увидеть кодировку не удалось.
    7 сентября 2009 г. 12:16

Ответы

  • Откройте его в ноутпаде и если он в кодировке base64, вы это сразу увидите. :)
    Первая строчка будет: ------------BEGIN CERTIFICATE---------------
    А последняя:               ------------END CERTIFICATE-----------------
    • Помечено в качестве ответа oficer 8 сентября 2009 г. 7:39
    7 сентября 2009 г. 15:43
  • Попробуй
    certutil -decode <путь до сертификата> <путь до получаемого файла>
    к примеру certutil -decode c:\test.cer c:\test.txt
    команда выполнится только для Base64

    если сертификат имеет кодировку Base64 то certutil скажет что то вроде этого:
    Input Length = 1112
    Output Length = 768
    CertUtil: -decode command completed successfully.

    если тот же сертификат имеет кодировку DER, то после выполнения вышеуказанной команды видим:
    DecodeFile returned The data is invalid. 0x8007000d (WIN32: 13)
    CertUtil: -decode command FAILED: 0x8007000d (WIN32: 13)
    CertUtil: The data is invalid. 

    хотя практического применения от знания кодировки я лично не вижу

    • Помечено в качестве ответа oficer 8 сентября 2009 г. 7:39
    7 сентября 2009 г. 14:03

Все ответы

  • Попробуй
    certutil -decode <путь до сертификата> <путь до получаемого файла>
    к примеру certutil -decode c:\test.cer c:\test.txt
    команда выполнится только для Base64

    если сертификат имеет кодировку Base64 то certutil скажет что то вроде этого:
    Input Length = 1112
    Output Length = 768
    CertUtil: -decode command completed successfully.

    если тот же сертификат имеет кодировку DER, то после выполнения вышеуказанной команды видим:
    DecodeFile returned The data is invalid. 0x8007000d (WIN32: 13)
    CertUtil: -decode command FAILED: 0x8007000d (WIN32: 13)
    CertUtil: The data is invalid. 

    хотя практического применения от знания кодировки я лично не вижу

    • Помечено в качестве ответа oficer 8 сентября 2009 г. 7:39
    7 сентября 2009 г. 14:03
  • Откройте его в ноутпаде и если он в кодировке base64, вы это сразу увидите. :)
    Первая строчка будет: ------------BEGIN CERTIFICATE---------------
    А последняя:               ------------END CERTIFICATE-----------------
    • Помечено в качестве ответа oficer 8 сентября 2009 г. 7:39
    7 сентября 2009 г. 15:43
  • Спасибо, этот способ работает.  На практике этот сертификат используется приложением для подписи сообщений, которые отправляются другому приложению. Если сертификат имеет не ту кодировку, подпись не создается и соответственно транзакция валится с ошибкой.
    8 сентября 2009 г. 7:38
  • Спасибо, и этот способ тоже подходит).
    8 сентября 2009 г. 7:39