首页 > 解决方案 > 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-----

标签: springspring-bootintellij-ideaprivate-key

解决方案


IntelliJ 环境变量不支持新行,请参阅https://unix.stackexchange.com/q/369972

如果您决定使用环境变量,那么我认为您最好的选择是使用环境变量指向私钥。

另一种选择是解析环境变量,用\n实际的新行替换出现的情况。这有点乱,因为那时你有条件地解析或不解析私钥。


推荐阅读