MacOS下使用OpenSSL生成Symfony LexikJWT私钥报错求助
解决方案
问题出在你输入的OpenSSL命令参数格式错误:-pkeyopt选项里的rsa _keygen_bits中间多了一个空格,正确的参数名是rsa_keygen_bits(无空格)。
正确的生成命令
执行这条修正后的命令即可正常触发密码短语输入并生成私钥:
openssl genpkey -out config/jwt/private.pem -aes256 -algorithm rsa -pkeyopt rsa_keygen_bits:4096
后续验证与配套步骤
- 输入两次密码短语确认后,检查
config/jwt/目录下是否生成了private.pem文件 - 生成LexikJWTBundle所需的公钥(用于验证令牌):
openssl rsa -pubout -in config/jwt/private.pem -out config/jwt/public.pem
执行此命令时需再次输入之前设置的私钥密码短语。
Symfony配置检查
确保项目中config/packages/lexik_jwt_authentication.yaml的密钥路径配置正确:
lexik_jwt_authentication: private_key_path: '%kernel.project_dir%/config/jwt/private.pem' public_key_path: '%kernel.project_dir%/config/jwt/public.pem' pass_phrase: '你的密码短语' # 推荐用环境变量存储以提升安全性 token_ttl: 3600
内容的提问来源于stack exchange,提问作者Halit Cinici
相关产品推荐
相关产品推荐

