IntelliJ:将私钥设置为环境变量不起作用(Spring boot项目)

Sha*_*ank 7 spring intellij-idea spring-boot private-key

我有一个 Spring Boot 项目,如果我使用私钥(多行文本),它工作得很好(这意味着密钥没有问题),但是当我尝试将其设置为 intellij 中的环境变量时,它显示

原因:属性“spring.cloud.config.server.git.privateKey”不是有效的私钥

我完全意识到这是由于新行字符而发生的。所以我尝试用 \n (作为文本)替换新行,例如

-----BEGIN RSA PRIVATE KEY-----\nline1\nline2.....\nlinen\n-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

但它也不起作用。

属性文件中的工作版本是:

privateKey: |
            -----BEGIN RSA PRIVATE KEY-----
           secret data....
            -----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

ord*_*lex 3

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

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

另一种选择是解析环境变量,\n用实际的新行替换出现的内容。这有点混乱,因为这样你就可以有条件地解析或不解析私钥。