Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-5295

OpenSSL CMS encryption with ECDSA keys doesn't work

    • openssl-3.0.7-25.el9
    • Yes
    • Low
    • 2
    • rhel-sst-security-crypto
    • ssg_security
    • 20
    • 26
    • 1
    • QE ack
    • False
    • Hide

      None

      Show
      None
    • No
    • Crypto24Q1, Crypto23Q4
    • None

      Description of problem:
      When the `openssl cms` command is used to encrypt data, the command aborts when the recipient key is ECDSA

      Version-Release number of selected component (if applicable):
      openssl-3.0.1-20.el9_0.x86_64
      openssl-3.0.7-20.el9.x86_64

      How reproducible:
      always

      Steps to Reproduce:
      openssl ecparam -out p256.pem -name P-256
      openssl req -x509 -newkey ec:p256.pem -keyout root.key -out root.crt -subj /CN=localhost -batch -nodes -days 36500 -sha256
      echo something to encrypt > message.txt
      openssl cms -encrypt -in message.txt -out message.enc root.crt

      Actual results:
      (for 3.0.7-20.el9)
      409C3F54CC7F0000:error:17000074:CMS routines:cms_EnvelopedData_Encryption_init_bio:error setting recipientinfo:crypto/cms/cms_env.c:1159:
      409C3F54CC7F0000:error:17000068:CMS routines:CMS_final:cms lib:crypto/cms/cms_smime.c:882:

      Expected results:
      CMS file encrypted with ECDSA/ECDH

      Additional info:
      The command does succeed in FIPS mode (and produces a file encrypted with `:dhSinglePass-stdDH-sha1kdf-scheme`) and works if the KDF is explicitly set to SHA-256:
      openssl cms -encrypt -in message.txt -out message.enc -recip root.crt -keyopt ecdh_kdf_md:sha256
      The operation also works in RHEL-8

              dbelyavs@redhat.com Dmitry Belyavskiy
              hkario@redhat.com Alicja Kario
              Alicja Kario Alicja Kario
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: