Почему мы должны устанавливать метку времени, когда мы делаем codesigning?
Если я установлю метку времени с подписанием, что произойдет?
А если я не сяду?
Это важно? Почему это рекомендуется?
2 ответов
Timestamping используется для указания времени создания цифровой подписи. Это необходимо для правильной проверки подписи.
если присутствует метка времени подписи, приложение, которое проверяет (проверяет) подпись, проверит, действительны ли сертификаты, участвующие в проверке подписи, в момент подписания. Если для подписи нет метки времени, то проверяется действительность сертификата на момент проверки подписи, что не всегда допустимый.
Example:
Certificate is valid from: 1st of January, 2008
Certificate is valid to: 31st of December, 2010
Signature is made on: 4th of July, 2009
Signature is verified on: 30th of April, 2012
с меткой времени: подпись в порядке (подпись была сделана в течение срока действия сертификата) без метки времени: подпись недействительна (сертификат истек к моменту проверки подписи).
Timestamping следует использовать, если подпись должна использоваться (для доказательства подлинности автора документа или составителя данных) в долгосрочной перспективе, т. е. дольше одного или нескольких дней.
Timestamping не требуется, когда вы, например, отправьте коллеге короткую подписанную записку, и ожидается, что эта записка будет прочитана и удалена в тот же день, когда она была написана. Конечно, timestamping нельзя использовать, когда он не поддерживается технологиями подписи или когда timestamping authority недоступен.
С другой стороны, timestamping является обязательным при создании подписанных документов для широкого распространения или для долгосрочного хранения и архивирования. Timestamping также используется при подписании исполняемые модули приложения.
Update: метка времени также подписывается сертификатом. Эта подпись также проверяется с помощью обычных правил, что означает, что сертификат, используемый для подписи метки времени, должен быть действительным в момент проверки подписи. В приведенном выше примере, если сертификат штампов времени истек 1 апреля 2012 года, то отметка будет считаться недействительным и не будет учитываться при проверке подписи.
Если срок действия сертификата подписи истекает и нет метки времени, нет способа проверить, что подпись была сделана в то время, когда сертификат был действителен, поэтому ранее подписанный код может просто "перестать работать".
Timestamping включает третью сторону (обычно ваш CA), подтверждающую, что вы сделали подпись в определенное время. Независимо от того, когда ваш сертификат истекает, кто-то, получающий подписанный код, может проверить, что ваш сертификат действителен на момент вы подписали его.