Вопрос 1. Изменяется ли простое добавление «-validity 360» с генерации пары ключей к самозаверяющему сертификату?
Нет. -genkeypair
(официальное название примерно с 2005 года) или менее точный синоним -genkey
всегда генерирует пару ключей и самоподписанного сертификата и сохраняет приватный ключ и сертификат (вместе) в хранилище ключей. Единственное отличие -validity 360
состоит в том, используется ли указанное значение или значение по умолчанию для периода действия.
Вопрос 2 - Являются ли «пары ключей» и «самозаверяющий сертификат» синонимичными?
Нет. В этой ситуации они связаны, но это разные вещи. Пара ключей, а также отдельный privatekey и publickey, могут использоваться для некоторых вещей без какого-либо сертификата (самоподписанного или иного) с использованием хранилища , отличного от , чем хранилище ключей Java, и может использоваться самоподписанный сертификат (который включает в себя publickey) для некоторых вещей без частного ключа. Например, SSH обычно использует «голую» пару ключей для аутентификации сервера и часто для аутентификации клиента. PGP использует формат подписанного публичного ключа, который функционирует в качестве своего рода сертификата, но очень сильно отличается от сертификатов X.509 / PKIX, используемых в хранилище ключей Java, а также в SSL / TLS / HTTPS / и т. Д., И при подписании кодов (и SMIME).
В качестве аналогии, часто встречающейся в путешествиях. Рассмотрим авиабилет и чемодан с одеждой. Когда вы покупаете авиабилет, традиционно он включает в себя возможность иметь определенное количество багажа, часто несколько чемоданов с ограничением по весу, которые перевозятся с вами на вашем рейсе - хотя в настоящее время это варьируется в зависимости от самых неприязненных и спорных способов. Если хотите, вы можете полететь на самолете без чемодана, хотя это означает, что в пункте назначения у вас может не быть одежды. Также можно и довольно часто использовать чемодан для перевозки одежды без авиабилета в многих местах, не являющихся самолетами, таких как автомобиль, такси, автобус, поезд или дом родственника или друга.
Вопрос 3 - может ли пара официальных ключей или «самозаверяющий сертификат» использоваться для официального CSR?
Ключ пара может использоваться для создания CSR (*), если вы указали имя субъекта из другого источника. Но хранилище ключей Java на самом деле не хранит ключ пара плюс самоподписанный сертификат, а скорее закрытый ключ плюс самоподписанный сертификат (или другой сертификат); открытый ключ accessible хранится только в сертификате, а открытый ключ (из сертификата) необходим и используется для генерации CSR.
Самозаверяющий сертификат или любой другой сертификат сам по себе не может использоваться для создания CSR (*), поскольку CSR должен быть подписан с использованием закрытого ключа.
(*) На самом деле КСО является общей концепцией, и существует множество видов КСО с различными правилами. Я говорю здесь только о том типе CSR, который указан в PKCS10 или RFC2986 et rel , который является (единственным) генерируемым Java и большинством других распространенных инструментов, и тот, который требуется практически всем интернет-центрам сертификации.