Precisa confiar em todos os certificados durante o desenvolvimento usando o Spring

Eu li este artigo muito útil sobre como desativar todos os certificados https programaticamente. Eu preciso de tal abordagem apenas no desenvolvimento. E estou usando a primavera. Então, alguém tem idéias sobre como eu posso fazer a mesma coisa apenas nos arquivos de contexto da primavera, não no código Java? Eu quero dizer essa parte específica do código:

SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); 

Na verdade, posso simular a primeira linha: algo assim:

    

Além disso, posso criar esse bean trustAllCerts. Mas … eu confuso .. é possível chamar algum método de um bean na boot do contexto de primavera? Quero dizer, como posso chamar sc.init e sc.getSocketFactory no arquivo de contexto da primavera? Isso é impossível ou não?

Sim – você pode usar o atributo init-method . Veja os retornos de chamada de boot . Mas essa interface não é suficiente. Eu sugiro simplesmente colocar esse código

 SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); 

Na sua class personalizada, que saberá que você está no modo dev ou que terá esse método init. BTW chamando getSocketFactory é simples – isso é simplesmente obter a propriedade socketFactory .