使用自签名SSL证书和SVNKit对TeamForge / Collab.net进行身份验证

时间:2017-07-07 02:12:34

标签: authentication openssl svnkit collabnet teamforge

我目前正在开发一个项目,可以自动将文件检入到使用TeamForge / Collab.net托管的Subversion存储库。我正在使用SVNKit来处理这个程序和存储库之间的交互。这是我用于身份验证的相关Java部分:

SVNURL url = SVNURL.parseURIEncoded("https://blah.collab.net/svn/repos");
ISVNAuthenticationManager mAuthManager = new BasicAuthenticationManager(new SVNAuthentication[]{
    SVNSSLAuthentication.newInstance(new File(certFilePath), certFilePassPhrase, true, url, false),
    SVNPasswordAuthentication.newInstance(login, passCharArray, false, url, false);
});

我使用以下OpenSSL命令生成了自签名证书:

//generating a key and self-signed certificate
openssl req -x509 -sha256 -days 365 -newkey rsa:2048 -keyout private.key -out cert.crt -subj "/CN=svn.example.com"

//extracting public key from cert.crt
openssl x509 -in cert.crt -pubkey -noout

我已将公钥放在TeamForge上我的个人资料下的“授权密钥”标签中。在SVNKit中,我将cerFilePath指定为“path / to / cert.crt”,并将certFilePassPhrase指定为与创建自签名证书时使用的相同。

到目前为止,证书身份验证始终失败并重新登录到登录/密码,我让用户在运行时手动将该信息输入控制台。因此允许该程序工作,但如果不存储这些用户凭证,我将无法自动化/安排它。

TeamForge的SSL证书的正确配置是什么?我正确地生成了自签名的吗?

0 个答案:

没有答案