在 curl PUT 中将私钥作为 header 传递,返回非法字符错误
Pass private key as header in curl PUT returning error for illegal character
我有一个 .pem
文件,其中包含我需要作为授权传递的私钥 header。
我试过只使用命令 $(cat $REPO_ROOT/pulsar/tls/broker/broker.key.pem)
但我得到的响应是:<h1>Bad Message 400</h1><pre>reason: Illegal character LF=\n</pre>0
我可以不将 .pem
的内容直接传递到 header 吗?
CLUSTER=standalone
TENANT=sandbox
NAMESPACE=integration_test
AUTHORIZATION=$(cat $REPO_ROOT/pulsar/tls/broker/broker.key.pem)
# Create tenant
curl -L -X PUT "http://localhost:$HOST_PULSAR_PORT/admin/v2/tenants/$TENANT" \
--header "Authorization: Bearer $AUTHORIZATION" \
--header 'Content-Type: application/json' \
--data-raw "{\"allowedClusters\": [\"$CLUSTER\"]}"
私钥永远不会在网络请求中作为 header 发送。也许是 public 键。
当您尝试发送时:
Authorization: Bearer $AUTHORIZATION
我怀疑你应该发送一个签名的 JWT 令牌?
此外,您尝试发送一个 pem 文件,如 application/json,两者都不匹配。 pem 文件通常是 multi-line 数据结构,需要对其进行编码才能在 header.
中发送
私钥需要小心保管。您应该永远 必须在 HTTP header.
中传递它
对于 Pulsar,您应该使用私钥生成 JWT 令牌以在 HTTP header 中使用。您可以使用以下命令:
bin/pulsar tokens create --private-key file:///path/to/my-private.key \
--subject test-user
令牌的主题应与 Pulsar 租户或命名空间上的授权角色相匹配。有关详细信息,请参阅 https://pulsar.apache.org/docs/en/security-token-admin/
我有一个 .pem
文件,其中包含我需要作为授权传递的私钥 header。
我试过只使用命令 $(cat $REPO_ROOT/pulsar/tls/broker/broker.key.pem)
但我得到的响应是:<h1>Bad Message 400</h1><pre>reason: Illegal character LF=\n</pre>0
我可以不将 .pem
的内容直接传递到 header 吗?
CLUSTER=standalone
TENANT=sandbox
NAMESPACE=integration_test
AUTHORIZATION=$(cat $REPO_ROOT/pulsar/tls/broker/broker.key.pem)
# Create tenant
curl -L -X PUT "http://localhost:$HOST_PULSAR_PORT/admin/v2/tenants/$TENANT" \
--header "Authorization: Bearer $AUTHORIZATION" \
--header 'Content-Type: application/json' \
--data-raw "{\"allowedClusters\": [\"$CLUSTER\"]}"
私钥永远不会在网络请求中作为 header 发送。也许是 public 键。
当您尝试发送时:
Authorization: Bearer $AUTHORIZATION
我怀疑你应该发送一个签名的 JWT 令牌?
此外,您尝试发送一个 pem 文件,如 application/json,两者都不匹配。 pem 文件通常是 multi-line 数据结构,需要对其进行编码才能在 header.
中发送私钥需要小心保管。您应该永远 必须在 HTTP header.
中传递它对于 Pulsar,您应该使用私钥生成 JWT 令牌以在 HTTP header 中使用。您可以使用以下命令:
bin/pulsar tokens create --private-key file:///path/to/my-private.key \
--subject test-user
令牌的主题应与 Pulsar 租户或命名空间上的授权角色相匹配。有关详细信息,请参阅 https://pulsar.apache.org/docs/en/security-token-admin/