使用X509证书

时间:2016-08-02 00:33:11

标签: mongodb mongodb-java mongo-java

我正在尝试使用mongoX509连接到MongoDB。我正在使用mongo java驱动程序3.3.0 jar。在api参考中,我可以看到MongoCredential传递主题名称并进行身份验证,但我无法在我的代码中导入它。当我反编译jar时,我也看不到MongoCredential。

我错过了任何依赖项。有没有简单的方法连接到Mongodb而不使用MongoCredential?我的详细信息是服务器,端口和证书主题名称?

我可以发布我正在尝试的代码,如果有人也想看看它

先谢谢

代码 - 我正在使用SoapUI来运行此代码

import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.MongoCredential;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;

try{
    def subjectName="CN=xx,OU=xx,O=xx,C=US,ST=CA,L=xx"
    MongoCredential credential = MongoCredential.createMongoX509Credential(subjectName);
    def URI = "mongodb://server1:27017,server2:27017,server3:27017/<<database>>?replicaSet=<<XYZ>>&amp;authMechanism=MONGODB-X509&amp;ssl=true"
    MongoClientURI uri = new MongoClientURI(URI)
    MongoClient client = new MongoClient(uri, Arrays.asList(credential));
    DB database = client.getDB(<<database>>);
    collection = database.isAuthenticated();
    log.info collection
    }
catch (Exception e){
    log.info e
    }

1 个答案:

答案 0 :(得分:0)

问题是因为我使用的jar不正确。我得到了正确的版本,它的工作原理。