• Stefan Berger's avatar
    crypto: ecdsa - Fix module auto-load on add-key · 48e4fd6d
    Stefan Berger authored
    Add module alias with the algorithm cra_name similar to what we have for
    RSA-related and other algorithms.
    
    The kernel attempts to modprobe asymmetric algorithms using the names
    "crypto-$cra_name" and "crypto-$cra_name-all." However, since these
    aliases are currently missing, the modules are not loaded. For instance,
    when using the `add_key` function, the hash algorithm is typically
    loaded automatically, but the asymmetric algorithm is not.
    
    Steps to test:
    
    1. Create certificate
    
      openssl req -x509 -sha256 -newkey ec \
      -pkeyopt "ec_paramgen_curve:secp384r1" -keyout key.pem -days 365 \
      -subj '/CN=test' -nodes -outform der -out nist-p384.der
    
    2. Optionally, trace module requests with: trace-cmd stream -e module &
    
    3. Trigger add_key call for the cert:
    
       # keyctl padd asymmetric "" @u < nist-p384.der
       641069229
       # lsmod | head -2
       Module                  Size  Used by
       ecdsa_generic          16384  0
    
    Fixes: c12d448b ("crypto: ecdsa - Register NIST P384 and extend test suite")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarStefan Berger <stefanb@linux.ibm.com>
    Reviewed-by: default avatarVitaly Chikunov <vt@altlinux.org>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    48e4fd6d
ecdsa.c 9.3 KB