Tag: https

Java的HTTPS://本地主机(SSL) – 可能没有在客户端上安装证书?

阅读以下内容后,我仍然坚持使最简单的https :// localhost独立安装免费的Web服务器Java应用程序。 它需要无库,使用Java 8,并接受来自浏览器的连接,而无需先安装任何特殊的客户端证书。 我不清楚这是否完全可能与自签名证书,因为它只需要为“localhost”工作。 如何让SSL服务器套接字在java中同时支持http和https? 我简单的java HTTPS服务器只适用于本地主机 简单的Java HTTPS服务器 到目前为止,我已经使用一些关键的文件 openssl genrsa -aes128 -out privkey.pem 2048 # makes privkey.pem openssl req -new -x509 -key privkey.pem # makes cert.crt 我已经拼凑出最低限度的Kotlin设置function private fun ssl():SSLServerSocketFactory { val password = “MYPASSWORD”.toCharArray() val kmf = KeyManagerFactory.getInstance(“SunX509”) val tmf = TrustManagerFactory.getInstance(“SunX509”) val sslContext = SSLContext.getInstance(“TLS”) // initialise the keystore […]

kotlin库,可以做无http证书validation的httpS连接(如curl –insecure)

我需要抓取已过期/自签名证书的公司内部网站。 没有人会为该主机配置有效的证书,所以我必须使用不安全的连接。 curl有 – 为此目的, Scala finagle库有.tlsWithoutValidation()模式。 问 :是否有一个Kotlin库有类似的选择? UPD :到目前为止我使用燃料与在这里find的javish解决方法,但仍然在寻找更好的方法.. fun useInsecureSSL() { // Create a trust manager that does not validate certificate chains val trustAllCerts = arrayOf(object : X509TrustManager { override fun getAcceptedIssuers(): Array? = null override fun checkClientTrusted(chain: Array, authType: String) = Unit override fun checkServerTrusted(chain: Array, authType: String) = Unit }) […]

来自Retrofit的POST请求以意想不到的方式工作

有一个使用HTTPS的第三方网站,登录时起始页执行POST。 我已经在浏览器中检查了POST请求,然后我可以用Fiddler的作曲器手动创建请求。 因此,根据凭证,我可以成功或不成功地使用Fiddler登录。 返回代码始终为302,它们分别与用户管理页面的重定向(标题“位置”)或登录失败页面一起出现。 但是,当我使用Retrofit库创建请求时,它不起作用。 我得到的响应代码是200,在这个具体的情况下,不会被认为是成功的。 为了检查来自Retrospect的POST请求,我将它指向了Fiddler( http:// localhost:8888 )而不是第三方URL。 如果我将该请求复制到作曲家,并将URL调整为第三方,请求确实起作用。 也就是说,我无法找到由Retrofit构建的请求有任何问题。 有没有人有一个想法可能是错的? 我的代码是用Kotlin编写的,但是如果你知道Java应该很容易理解: import okhttp3.ResponseBody import retrofit2.Call import retrofit2.Retrofit import retrofit2.http.* interface MyApi { @POST("<relative login url>") @FormUrlEncoded @Headers( //… ) fun login( @Field("username") username: String, @Field("password") password: String ) : Call<ResponseBody>; } fun main(args: Array<String>) { val baseUrl = "https://<url>" val retrofit = […]