2

我正在尝试在 Windows 上使用 OpenSSL 加密一些表单数据,但我很难弄清楚什么是正确的语法。使用以下命令,OpenSSL 返回一条 PKCS7 消息,但仍然给我一条& was unexpected at this time消息。

(openssl smime -sign -signer client-public.pem -inkey client-private.pem -outform der -nodetach -binary^ 
formkey1=formvalue1^ 
formkey2=formvalue2^ 
formkey3=formvalue3^ 
^ 
^ 
) | openssl smime -encrypt -des3 -binary -outform pem server-public.pem

我觉得我的管道在那里造成了一些问题,但我不知道我应该怎么做才能获得干净、无错误的结果。

4

1 回答 1

3

无需将其拆分为多行。
因此,您应该首先测试它是否适用于单行。

然后你可以使用多行插入符号,但不要忘记在下一行添加一个空格,否则它将把完整的文本粘贴在一起而没有任何分隔符。
并且右括号之前的插入符号将失败,因为多行插入符号会转义下一行的第一个字符,因此您的右括号不会关闭任何内容。

这应该工作

(openssl smime -sign -signer client-public.pem -inkey client-private.pem -outform der -nodetach -binary^
 formkey1=formvalue1^
 formkey2=formvalue2^
 formkey3=formvalue3^
 ^
 ^
 ) | openssl smime -encrypt -des3 -binary -outform pem server-public.pem
于 2012-12-04T16:47:30.567 回答