Dacă aruncați o privire la un certificat care criptează google.com, acesta face publicitate unei chei ECC pe 256 de biți cu ECDSA_P256
parametru. Algoritmul de semnătură este sha256RSA. Am încercat să obțin ceva similar rulând setul de comenzi de mai jos, dar de când -digera
parametrul pe care îl folosesc este -sha256
rezultatul este întotdeauna algoritmul de semnătură sha256ECDSA. Deci întrebarea este - cum a făcut Google asta și este posibil cu OpenSSL (1.1.1k)?
Este un rezultat al faptului că certificatul lor este semnat de un certificat CA care este RSA și nu ECDSA (în timp ce al meu este un certificat rădăcină ECDSA autosemnat)?
openssl genpkey -genparam -out ./hmca-ec.param -algorithm EC -pkeyopt ec_paramgen_curve:prime256v1
openssl genpkey -paramfile ./hmca-ec.param -out ./hmca-ec.key -pass pass:"pass" -aes-256-ecb
openssl req -x509 -new -key ./hmca-ec.key -sha256 -days 365 \
-config ./hmca.conf -reqexts SAN -extensions SAN -out ./hmca-ec.crt
conf (dacă contează) arată astfel:
[req]
nume_distins = direct
x509_extensions = SAN
req_extensions = SAN
prompt = nu
[SAN]
subjectKeyIdentifier=hash
subiectAltName = dirName:direct
extendedKeyUsage = serverAuth, clientAuth
basicConstraints = CA:TRUE
keyUsage = critic, digitalSignature, keyAgreement, keyCertSign
[direct]
C = SUA
O = a
CN = b