Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## Извлеките публичный ключ
- openssl x509 -in russian_trusted_root_ca.cer -pubkey -noout > russian_pubkey.pem
- ## Создайте свой локальный корневой CA (MyLocalRoot)
- # 1. Генерация ключа вашего Root CA
- openssl genrsa -out my_local_root.key 4096
- # 2. Создание вашего корневого сертификата
- openssl req -x509 -new -nodes -key my_local_root.key -sha256 -days 3650 \
- -out my_local_root.crt \
- -subj "/CN=My Personal Local Security Root CA"
- ## Создайте файл конфигурации Name Constraints (nc.cnf)
- [ v3_constrained ]
- basicConstraints = critical, CA:true
- keyUsage = critical, keyCertSign, cRLSign
- subjectKeyIdentifier = hash
- authorityKeyIdentifier = keyid:always,issuer
- nameConstraints = critical, \
- permitted;DNS:psbank.ru, \
- permitted;DNS:sber.ru, \
- permitted;DNS:sberbank.ru, \
- permitted;DNS:tbank.ru, \
- permitted;DNS:alfabank.ru, \
- permitted;DNS:vtb.ru
- ## Выпустите ограниченный кросс-сертификат
- # 1. Создание временного CSR
- openssl req -new -newkey rsa:2048 -nodes -keyout dummy.key -out dummy.csr \
- -subj "/C=RU/O=The Ministry of Digital Development and Communications/CN=Russian Trusted Root CA"
- # 2. Подпись с подменой публичного ключа и наложением Name Constraints
- openssl x509 -req -in dummy.csr \
- -CA my_local_root.crt \
- -CAkey my_local_root.key \
- -CAcreateserial \
- -out russian_root_constrained.crt \
- -days 3650 -sha256 \
- -extfile nc.cnf -extensions v3_constrained \
- -force_pubkey russian_pubkey.pem
- # 3. Удаление временных файлов
- rm dummy.key dummy.csr nc.cnf my_local_root.srl
- ## Установите сертификаты в систему
- # - my_local_root.crt — установите в Доверенные корневые центры сертификации (Trusted Root Certification Authorities) ОС и/или Firefox.
- # - russian_root_constrained.crt — установите в Промежуточные центры сертификации (Intermediate Certification Authorities)
Advertisement
Add Comment
Please, Sign In to add comment