openssl cms -encrypt error: error setting recipientinfo

Blumenthal, Uri - 0553 - MITLL uri at ll.mit.edu
Thu May 6 13:35:36 UTC 2021


At least one problem I can see with your EC certificate is wrong Key Usage. For EC it should be "Key Agreement".

I'd not use the same cert for signing and encrypting. If you do, then add Signature and Non-Repudiation (but I've never done that).
--
Regards,
Uri
 
There are two ways to design a system. One is to make is so simple there are obviously no deficiencies.
The other is to make it so complex there are no obvious deficiencies.
                                                                                                                                     -  C. A. R. Hoare
 

On 5/5/21, 22:07, "openssl-users on behalf of Ted Wynnychenko" <openssl-users-bounces at openssl.org on behalf of ted.m.w at comcast.net> wrote:

    Hello


    I recently decided to change from RSA to EC keys/certs.
    I do this primarily as a learning exercise (there is no real corporate or
    professional demand to have this working).
    I am running OpenBSD current (6.9) from about 1 month ago.


    Previously, I have been using "openssl smime" to sign and encrypt emails.

    Now that I am migrating to EC keys/certificates, I need to switch to
    "openssl cms".

    However, I am unable to encrypt using the EC certificate.

    When I use:
    (I am going to obfuscate the emails in plain text, although I understand
    there will be some encoded in the public key that follows.)

    cat text.in | /usr/bin/openssl cms -encrypt -from 'User <user at example.com>'
    -to 'Admin <admin at example.com>' -subject "Test Email" -aes256 encryption.pem
    > encrypted.out

    with the old RSA certificate, everything works as expected.

    But, when I replace the RSA cert with the EC certificate, it does not.
    Instead, I see:

    15724089243112:error:2EFFF06F:CMS routines:CRYPTO_internal:ctrl
    failure:/usr/src/lib/libcrypto/cms/cms_env.c:124:
    15724089243112:error:2EFFF074:CMS routines:CRYPTO_internal:error setting
    recipientinfo:/usr/src/lib/libcrypto/cms/cms_env.c:944:
    15724089243112:error:2EFFF068:CMS routines:CRYPTO_internal:cms
    lib:/usr/src/lib/libcrypto/cms/cms_smime.c:850:

    And the output file is zero size.
    The "-to" email address used is encoded as a SAN email in the EC
    certificate.

    I tried a more basic command:

    openssl cms -encrypt -in text.in -out encrypted.out -recip encryption.pem

    Works with RSA certificate, same error with EC certificate.

    I also tried (not really understanding, but it is in the man page example):

    openssl cms -encrypt -in text.in -out encrypted.out -recip encryption.pem
    -keyopt ecdh_kdf_md:sha256

    and got the same error.

    I am not sure what this error means, or how to address it.

    I was wondering if I needed to add the email to the certificate's DN, but
    since (I understand) emails in the DN are depreciated, and the email is
    included as a SAN, that seems unlikely.

    Any suggestions would be great.

    I have pasted the output from, "openssl x509 -in encryption.pem -noout
    -text" below.
    As I said, the plain text has been altered, but the public key is unchanged.

    Thanks

    Ted


    $ openssl x509 -in encryption.pem -noout -text

    Certificate:
        Data:
            Version: 3 (0x2)
            Serial Number: 25 (0x19)
        Signature Algorithm: ecdsa-with-SHA384
            Issuer: C=US, ST=State, L=Town, O=Example, OU=Home, CN=example.com
            Validity
                Not Before: Jan  2 00:00:00 2019 GMT
                Not After : Apr 17 13:57:06 2051 GMT
            Subject: C=US, ST=State, L=Town, O=Example, OU=Home,
    CN=admin.example.com
            Subject Public Key Info:
                Public Key Algorithm: id-ecPublicKey
                    Public-Key: (384 bit)
                    pub:
                        04:80:34:1b:cf:63:94:33:47:37:39:42:89:cd:80:
                        86:44:2f:df:5f:e2:cb:3f:1b:08:3b:2c:c8:20:ec:
                        4e:68:2a:ac:1d:ba:7b:09:3d:78:84:cc:e5:7c:f1:
                        5f:3c:36:c1:89:c1:8d:95:dc:ec:dd:7c:18:e9:58:
                        a2:83:bc:f9:db:82:cc:c3:fe:17:87:e3:52:78:70:
                        3b:2a:9e:ca:44:f6:f0:ff:42:82:8b:5a:51:9f:94:
                        63:4b:ef:08:d1:53:37
                    ASN1 OID: secp384r1
                    NIST CURVE: P-384
            X509v3 extensions:
                X509v3 Basic Constraints:
                    CA:FALSE
                X509v3 Subject Key Identifier:
                    C6:1E:C2:DD:D2:89:2A:64:58:F2:94:1F:EB:80:CA:AC:3C:9B:43:DC
                X509v3 CRL Distribution Points:

                    Full Name:
                      URI:https://crl.example.com/example.ca.crl
                    CRL Issuer:
                      DirName: C = US, O = Example, CN = example.com

                Authority Information Access:
                    OCSP - URI:http://ocsp.example.com:2560

                X509v3 Issuer Alternative Name:
                    DNS:example.com, email:admin at example.com
                X509v3 Authority Key Identifier:

    keyid:74:87:C7:29:8F:E5:8F:79:00:9F:95:52:69:F8:CA:57:A6:84:4C:9E

    DirName:/C=US/ST=Illinois/L=Winnetka/O=Wynnychenko/OU=Home/CN=wynnychenko.co
    m
                    serial:B0:99:14:14:0B:6D:33:21

                X509v3 Key Usage: critical
                    Digital Signature, Non Repudiation, Key Encipherment, Data
    Encipherment
                X509v3 Extended Key Usage:
                    E-mail Protection
                X509v3 Subject Alternative Name:
                    email:admin at example.com
        Signature Algorithm: ecdsa-with-SHA384
             30:65:02:31:00:94:1c:9e:ce:f2:0f:9f:b4:65:18:6d:7d:e4:
             be:01:19:0e:05:02:02:f6:83:84:88:11:0a:39:69:39:2a:7a:
             af:64:dd:4d:d0:57:dd:e3:db:8f:02:0a:8a:1b:27:8a:80:02:
             30:44:65:8c:36:be:7a:c6:27:cf:6d:3d:9c:42:d1:72:93:a5:
             df:21:c9:c0:58:64:c3:6e:d7:7c:30:13:da:10:7d:b9:e6:5d:
             d6:1c:89:e0:d5:eb:ba:03:d8:76:22:17:18


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5249 bytes
Desc: not available
URL: <https://mta.openssl.org/pipermail/openssl-users/attachments/20210506/4c59c00f/attachment-0001.bin>


More information about the openssl-users mailing list