do_convert_from_pkcs8:/ dev / fd / 63不是公认的公钥格式

时间:2018-07-23 01:23:22

标签: ssh openssl ssh-keygen

我正在尝试使用以下脚本检索我的PIV密钥:

dbGetQuery(con, "SELECT \"mixedCase\" from my_table limit 5;")

mixedCase
在Mac OS High Sierra 10.13.4上为

。我得到:

getPIVkey.sh

NAME=`security find-certificate | grep PIV | sed 's;keychain:";;g' | sed 's;";;g'`
echo $NAME
ssh-keygen -i -m pkcs8 -f <(security find-certificate -p "$NAME" | openssl x509 -noout -pubkey)

1 个答案:

答案 0 :(得分:1)

您似乎在第一个.*命令和引号之间缺少空格。因此,您用于设置sed变量的命令应该是

keychain:

使用改进的NAME命令,NAME=`security find-certificate | grep PIV | sed 's;keychain: ";;g' | sed 's;";;g'` 的(打印的)值应该不再以sed开头,而仅包含名称。

由于NAME中的错误值,第二条keychain:命令失败,因此输出NAME。之后执行的命令也会失败。

仅供参考,在对问题Why does process substitution result in a file called /dev/fd/63 which is a pipe?的回答中解释了引用security find-certificate的原因