首页 > 解决方案 > SSL Pinning 在 Android 中无法使用 Certificate Pinner(Hash Key Pinning)

问题描述

我正在使用 hashkey 进行证书固定。但是在使用 burp 套件拦截应用程序时,SSL 固定不起作用。会是什么原因?这种方法有什么事情要做吗?最低 API 级别为 21。

CertificatePinner certificatePinner = new CertificatePinner.Builder()
            .add("www.domain.com", "sha256/-------------=")
            .build();
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
    interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
    OkHttpClient client = new OkHttpClient
            .Builder()
            .certificatePinner(certificatePinner)
            .connectTimeout(60, TimeUnit.SECONDS)
            .readTimeout(60, TimeUnit.SECONDS)
            .addInterceptor(interceptor).build();
    Gson gson = new GsonBuilder()
            .setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")
            .create();

    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(URL)
            .client(client)
            .addConverterFactory(GsonConverterFactory.create(gson))
            .build();


    return retrofit;

标签: android

解决方案


推荐阅读