You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下集成Google Pay执行OpenSSL命令报错:路径未找到

Windows下生成Google Pay所需公钥的解决方案

方法一:借助Git Bash(推荐)

Windows默认没有grep、sed、xxd这些Unix工具,最简单的方式是安装Git for Windows,它自带的Git Bash环境完全支持这些命令:

  1. 安装Git for Windows后,打开Git Bash
  2. 切换到key.pem所在的目录(路径用Unix风格,比如C:\Users\rodri换成/c/Users/rodri)
  3. 直接运行你的原命令:
openssl ec -in key.pem -pubout -text -noout 2>/dev/null | grep "pub:" -A5 | sed 1d | xxd -r -p | base64 | paste -sd "\0" -

方法二:纯PowerShell环境(无需额外工具)

如果不想安装Git Bash,可以用PowerShell完成相同操作,步骤如下:

步骤1:导出文本格式的公钥

先通过OpenSSL输出公钥的文本格式到临时文件:

openssl ec -in key.pem -pubout -text -noout > pubkey.txt 2>&1

步骤2:提取并处理公钥内容

执行以下PowerShell命令,自动提取公钥的核心字节并转为Google Pay需要的Base64格式:

# 提取pub:之后的5行内容
$pubLines = (Get-Content pubkey.txt | Select-String -Pattern "pub:" -Context 0,5).Context.PostContext
# 去掉第一行,合并所有十六进制字符(去除空格和换行)
$pubHex = ($pubLines | Select-Object -Skip 1) -replace "\s+", "" -join ""
# 将十六进制转为字节数组
$pubBytes = [byte[]]($pubHex -split '(..)' | Where-Object { $_ -ne "" })
# 转为无换行的Base64字符串
[Convert]::ToBase64String($pubBytes) -replace "\r?\n", ""

错误原因说明

  • "系统找不到指定的路径":Windows CMD不支持Unix的/dev/null,需替换为nul,但核心问题是CMD缺少后续的Unix工具链
  • "'xxd' 不是内部或外部命令":xxd是Unix系统自带的工具,Windows默认没有,因此要么安装工具集,要么用PowerShell的内置功能替代

内容的提问来源于stack exchange,提问作者pomoworko.com

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 05:40:31