struct crypto_private_key * crypto_private_key_import(const u8 *key,
        size_t len,
        const char *passwd) {
    struct crypto_private_key *res;

    /* First, check for possible PKCS #8 encoding */
    res = pkcs8_key_import(key, len);
    if (res)
        return res;

    if (passwd) {
        /* Try to parse as encrypted PKCS #8 */
        res = pkcs8_enc_key_import(key, len, passwd);
        if (res)
            return res;
    }

    /* Not PKCS#8, so try to import PKCS #1 encoded RSA private key */
    wpa_printf(MSG_DEBUG, "Trying to parse PKCS #1 encoded RSA private "
            "key");
    return (struct crypto_private_key *)
            crypto_rsa_import_private_key(key, len);
}
Пример #2
0
struct crypto_private_key * crypto_private_key_import(const u8 *key,
        size_t len)
{
    return (struct crypto_private_key *)
           crypto_rsa_import_private_key(key, len);
}