spring - IntelliJ:将私钥设置为环境变量不起作用(Spring Boot 项目)
问题描述
我有一个 Spring Boot 项目,如果我使用私钥(多行文本)它工作得非常好(这意味着密钥没有问题)但是当我试图将它设置为 intellij 中的环境变量时它显示
原因:属性“spring.cloud.config.server.git.privateKey”不是有效的私钥
我完全意识到这是由于新的行字符而发生的。所以我尝试用 \n (作为文本)替换新行,例如
-----BEGIN RSA PRIVATE KEY-----\nline1\nline2.....\nlinen\n-----END RSA PRIVATE KEY-----
但它也不起作用。
属性文件中的工作版本是:
privateKey: |
-----BEGIN RSA PRIVATE KEY-----
secret data....
-----END RSA PRIVATE KEY-----
解决方案
IntelliJ 环境变量不支持新行,请参阅https://unix.stackexchange.com/q/369972。
如果您决定使用环境变量,那么我认为您最好的选择是使用环境变量指向私钥。
另一种选择是解析环境变量,用\n
实际的新行替换出现的情况。这有点乱,因为那时你有条件地解析或不解析私钥。
推荐阅读
- mysql - 在本地主机而不是在服务器中工作的递归过程
- reactjs - React.js -- 输入框 -- 输入字母“c”或“n”时失去焦点
- arrays - 排序并打印随机数的出现次数
- python - 在 django 中将序列化数据转换为字典
- javascript - CEFSharp - 自动登录
- c# - .Net Framework 4.7 上的 Winforms 或仅 .Net Framework 2.0 上的 Winforms 与 Mono 兼容?
- python-3.x - 如何使 googleads 库与 Google Ads API v2 弃用保持一致?
- javascript - 无法在 React Router 的嵌套组件中显示错误 404 组件
- python - asyncio.sleep() 和 time.sleep() 之间的 Python Asyncio 混淆
- c++ - 找不到 lpublic 库