从pkcs12 sotre中提取私钥

问题描述 投票:0回答:2

我有 pkcs12 密钥库(.p12),其中包含多个私钥条目(3 个条目)我想从该存储中仅提取一个密钥并使用该密钥来解密文件(由公钥加密) 有没有办法使用密钥别名通过 openssl 从商店中提取一个密钥??

encryption openssl rsa
2个回答
1
投票

尝试以下命令从 PKCS12 容器中提取私钥:

openssl pkcs12 -in yourP12File.pfx -nocerts -out privateKey.pem

0
投票

如果您可以使用 bash 并安装了

csplit
命令,此脚本将提取给定别名的私钥:

  # Set targetAlias to the friendly name you wish to extract
  tmp_dir=$(mktemp -d -p .)
  openssl pkcs12 -in ${keystore_file} -nocerts -nodes -passin pass:${keystore_password} \
     | csplit - -s  "/friendlyName:/" "{*}" -f ${tmp_dir}/xx
  if grep -q -l "friendlyName: ${targetAlias}$" ${tmp_dir}/xx*; then
    cat $(grep -l "friendlyName: ${targetAlias}$" ${tmp_dir}/xx*)
  else
    echo "Could not find ${targetAlias} in ${keystore_file}" >&2
  fi

请参阅此答案了解更多详情。

© www.soinside.com 2019 - 2024. All rights reserved.