Primeiro, deixe-me dizer que os documentos SSL do MongoDB estão sendo trabalhados, a maioria das informações aqui serão incluídas eventualmente, mas até lá .....
O driver Java, que acredito que o Spring usa, suporta SSL. Em termos de obter o mongoDB rodando com SSL, existem atualmente duas opções. Primeiro, você pode se tornar um assinante e usar a edição do assinante - que tem suporte a SSL (e SNMP) embutido:
Ao escrever isso, é uma oferta muito nova e está disponível apenas para o Amazon Linux e o Ubuntu.
A segunda opção, graças ao fato do MongoDB ser open source, é construir uma cópia do mongoDB com suporte a SSL. Para fazer isso, primeiro eu recomendaria seguir as instruções gerais de criação até ter sucesso com uma compilação não SSL:
Em seguida, construa com o sinalizador --ssl passado para scons para ativar o SSL. Você provavelmente também terá que instalar as bibliotecas openssl necessárias ou a verificação configure as dependências com falha (geralmente libssl e libssl-dev).
Depois de concluir essa etapa, você deve estar pronto para ir. Ao executar o MongoDB com o SSL ativado, tenha em mente que você precisa se conectar com o SSL para tudo . Todos os clientes, o shell, o driver e o MMS terão que se conectar via SSL ou falhar. Para iniciar o mongod com SSL, você precisará de um certificado, uma chave, a senha e algo parecido com essas opções (além de outras opções que deseja passar):
mongod --sslOnNormalPorts --sslPEMKeyFile <pem> --sslPEMKeyPassword <pass>
Você também pode especificar essa opção em um arquivo de configuração (geralmente /etc/mongodb.conf) assim:
sslOnNormalPorts = true
sslPEMKeyFile = /etc/ssl/mongodb.pem
sslPEMKeyPassword = pass
Para o shell, simplesmente use
mongo --ssl --host <hostname> --port <port>
Finalmente, você mencionou o uso de Java, aqui está um exemplo do arquivo de classe "sslApp.java":
import com.mongodb.*;
import javax.net.ssl.SSLContext;
public class sslApp {
public static void main(String args[])
throws Exception {
MongoOptions o = new MongoOptions();
o.socketFactory = SSLSocketFactory.getDefault();
Mongo m = new Mongo( "localhost" , o );
DB db = m.getDB( "test" );
DBCollection c = db.getCollection( "foo" );
System.out.println( c.findOne() );
} }