scala – 如何将加密密码设置为凭证以使用sbt发布Nexus OSS?

我正在尝试使用global.sbt中的未加密密码访问Nexus OSS存储库,例如
this,我的global.sbt是:

 credentials += Credentials("Sonatype Nexus", "repo.example.com", "username", "unencrypted_password")

我想考虑设置加密密码.

最佳答案 您可以在〜/ .ivy2 / .credentials下创建一个名为.credentials的文件.这是一个相当标准的位置,但显然您可以将文件放在磁盘上的任何位置.

该文件如下所示:

realm = Sonatype Nexus Repository Manager
host = oss.sonatype.org
user = publishing@yourco.com
password = $encrypted

要加密密码,您可以使用已知的AES密码,这意味着您基本上可以执行以下操作:

val credential: DirectCredentials = Credentials(Path.userHome / ".ivy2" / ".credentials")
val decrypted = credential.copy(passwd = decryptAes(credential.passwd))

现在你需要的是一个广泛或类似的共享密码公司,以及一种解密AES的方法,为此看起来像here.

点赞