| --- a/adb/adb_auth_host.c | 
 | +++ b/adb/adb_auth_host.c | 
 | @@ -83,7 +83,13 @@ static int RSA_to_RSAPublicKey(RSA *rsa, | 
 |      } | 
 |   | 
 |      BN_set_bit(r32, 32); | 
 | +#if OPENSSL_VERSION_NUMBER >= 0x10100000L | 
 | +    const BIGNUM *rsa_n, *rsa_e; | 
 | +    RSA_get0_key(rsa, &rsa_n, &rsa_e, NULL); | 
 | +    BN_copy(n, rsa_n); | 
 | +#else | 
 |      BN_copy(n, rsa->n); | 
 | +#endif | 
 |      BN_set_bit(r, RSANUMWORDS * 32); | 
 |      BN_mod_sqr(rr, r, n, ctx); | 
 |      BN_div(NULL, rem, n, r32, ctx); | 
 | @@ -97,7 +103,11 @@ static int RSA_to_RSAPublicKey(RSA *rsa, | 
 |          BN_div(n, rem, n, r32, ctx); | 
 |          pkey->n[i] = BN_get_word(rem); | 
 |      } | 
 | +#if OPENSSL_VERSION_NUMBER >= 0x10100000L | 
 | +    pkey->exponent = BN_get_word(rsa_e); | 
 | +#else | 
 |      pkey->exponent = BN_get_word(rsa->e); | 
 | +#endif | 
 |   | 
 |  out: | 
 |      BN_free(n0inv); |