Несколько сертификатов центра сертификации (?)

Я создал кластер kubernetes на aws, используя kops.

Если я не ошибаюсь, файлы ca.crt и ca.key находятся в следующих местах, как указано этот очень полезный ответ:

   - s3://<BUCKET_NAME>/<CLUSTER_NAME>/pki/private/ca/*.key
   - s3://<BUCKET_NAME>/<CLUSTER_NAME>/pki/issued/ca/*.crt

Однако я не мог не заметить, что в моем файле ~/.kube/config (который был создан автоматически kops) у меня есть запись с именем:

certificate-authority-data

содержимое которого отличается от обоих вышеуказанных файлов.

В любом случае, какие пары CA key/crt мы должны использовать при выдаче клиентских сертификатов?

Почему существует (казалось бы) более одного ЦС?


person pkaramol    schedule 10.01.2018    source источник


Ответы (2)


Хорошо, это странно... (возможно, для неискушенного в таких вопросах, как я...)

Когда я выступаю:

echo -n <contents_of_the_certificate-authority-data_entry_of_my_kubeconfig_file> | base64 --decode

...Я получаю свой ca.crt файл...

Разве ca.crt уже не закодировано base64?

person pkaramol    schedule 10.01.2018
comment
Файл CA, вероятно, закодирован в PEM. Затем вы кодируете это в base64. Не уверен, почему k8s решил закодировать файл в кодировке base64, вероятно, потому, что его легко и детерминировано кодировать/декодировать, а кодировка в base64 становится однострочной, поэтому никому не нужно бороться с получением многострочного PEM. -закодированные строки в YAML - person Amit Kumar Gupta; 10.01.2018

Certificate-authority-data, присутствующие в вашем файле конфигурации Kubernetes, — это не что иное, как ваш сертификат, закодированный в base64 (намного практичнее иметь непрерывную текстовую строку для файла конфигурации, чем без кодировки base64). .

Ваш файл .crt закодирован в RSA, а не в base64. RSA — это безопасная криптосистема, основанная на открытых и закрытых ключах (ваш .crt и .key соответственно). Base64 в лучшем случае полезен для форматирования или передачи уже зашифрованных данных.

person DevopsTux    schedule 10.01.2018
comment
Файл .crt не закодирован в RSA. Он содержит данные (открытого) ключа, используемые для шифрования RSA, кодировка/формат файла .crt, вероятно, PEM. - person Amit Kumar Gupta; 12.01.2018