既知の脆弱性を回避するために、開発者はアプリケーションが適切なセキュリティプロバイダをインストールすることを確認する必要があります。 2016年7月11日以降、Google は脆弱なバージョンの OpenSSL を使用している Play ストアアプリケーションの提出を拒否しています (新規アプリケーションとアップデートの両方)。
利用可能なセキュリティプロバイダの一覧
以下のコードを使用して既存のセキュリティプロバイダのセットを一覧表示できます。
StringBuilderbuilder=newStringBuilder();for(Providerprovider:Security.getProviders()){builder.append("provider: ").append(provider.getName()).append("").append(provider.getVersion()).append("(").append(provider.getInfo()).append(")\n");}Stringproviders=builder.toString();//now display the string on the screen or in the logs for debugging.
これは Google Play API を備えたエミュレータで実行中の Android 9 (API レベル 28) の出力です。
provider: AndroidNSSP 1.0(Android Network Security Policy Provider)
provider: AndroidOpenSSL 1.0(Android's OpenSSL-backed security provider)
provider: CertPathProvider 1.0(Provider of CertPathBuilder and CertPathVerifier)
provider: AndroidKeyStoreBCWorkaround 1.0(Android KeyStore security provider to work around Bouncy Castle)
provider: BC 1.57(BouncyCastle Security Provider v1.57)
provider: HarmonyJSSE 1.0(Harmony JSSE Provider)
provider: AndroidKeyStore 1.0(Android KeyStore security provider)