diff options
Diffstat (limited to 'docs/html')
| -rw-r--r-- | docs/html/google/play-services/ads.jd | 5 | ||||
| -rw-r--r-- | docs/html/google/play-services/id.jd | 13 | ||||
| -rw-r--r-- | docs/html/training/articles/keystore.jd | 107 |
3 files changed, 125 insertions, 0 deletions
diff --git a/docs/html/google/play-services/ads.jd b/docs/html/google/play-services/ads.jd index 18579c7..c1a59b8 100644 --- a/docs/html/google/play-services/ads.jd +++ b/docs/html/google/play-services/ads.jd @@ -59,6 +59,11 @@ header.hide=1 <h4>Flexible and powerful tools </h4> <p>Filters and controls help you manage your ads. If you want to use multiple ad networks, you can do that too, with free ad network mediation.</p> + + <h4>Ad Policy Compliant</h4> + <p>The Google Mobile Ads SDK available in Google Play services is compliant with + Google Play Ad Poilcy regarding the usage of + <a href="{@docRoot}google/play-services/id.html">advertising ID</a>.</p> </div> <div class="col-6 normal-links"> diff --git a/docs/html/google/play-services/id.jd b/docs/html/google/play-services/id.jd index 466dfef..d5acf76 100644 --- a/docs/html/google/play-services/id.jd +++ b/docs/html/google/play-services/id.jd @@ -55,6 +55,19 @@ href="{@docRoot}reference/com/google/android/gms/ads/identifier/package-summary. </div> </div> +<p class="caution" style= +"background-color:#fffdeb;width:100%;margin-bottom:1em;padding:.5em;"> + As a reminder, please note that starting <strong>1 August 2014</strong>, new + apps and app updates distributed through Google Play must use the advertising + ID in lieu of any other persistent identifiers for any advertising purposes, + on devices that support the advertising ID.<br> + <br> + To learn how to check your app's compliance through the Developer Console, or + for details on the associated developer policy changes, please see the + <a href= + "https://support.google.com/googleplay/android-developer/answer/6048248">Advertising + ID topic</a> in the Google Play developer help center. +</p> <h2 id="get_started">Using the Advertising ID</h2> diff --git a/docs/html/training/articles/keystore.jd b/docs/html/training/articles/keystore.jd new file mode 100644 index 0000000..bbbda67 --- /dev/null +++ b/docs/html/training/articles/keystore.jd @@ -0,0 +1,107 @@ +page.title=Android Keystore System +@jd:body + +<div id="qv-wrapper"> + <div id="qv"> + <h2>In this document</h2> + <ol> + <li><a href="#WhichShouldIUse">Choosing Between a Keychain or the Android Keystore Provider</a></li> + <li><a href="#UsingAndroidKeyStore">Using Android Keystore Provider + </a></li> + <ol> + <li><a href="#GeneratingANewPrivateKey">Generating a New Private Key</a></li> + <li><a href="#WorkingWithKeyStoreEntries">Working with Keystore Entries</a></li> + <li><a href="#ListingEntries">Listing Entries</a></li> + <li><a href="#SigningAndVerifyingData">Signing and Verifying Data</a></li> + </ol> + </ol> + + <h2>Blog articles</h2> + <ol> + <li><a + href="http://android-developers.blogspot.com/2012/03/unifying-key-store-access-in-ics.html"> + <h4>Unifying Key Store Access in ICS</h4> + </a></li> + </ol> + </div> +</div> + +<p>The Android Keystore system lets you store private keys + in a container to make it more difficult to extract from the + device. Once keys are in the keystore, they can be used for + cryptographic operations with the private key material remaining + non-exportable.</p> + +<p>The Keystore system is used by the {@link + android.security.KeyChain} API as well as the Android + Keystore provider feature that was introduced in Android 4.3 + (API level 18). This document goes over when and how to use the + Android Keystore provider.</p> + +<h2 id="WhichShouldIUse">Choosing Between a Keychain or the +Android Keystore Provider</h2> + +<p>Use the {@link android.security.KeyChain} API when you want + system-wide credentials. When an app requests the use of any credential + through the {@link android.security.KeyChain} API, users get to + choose, through a system-provided UI, which of the installed credentials + an app can access. This allows several apps to use the + same set of credentials with user consent.</p> + +<p>Use the Android Keystore provider to let an individual app store its own + credentials that only the app itself can access. + This provides a way for apps to manage credentials that are usable + only by itself while providing the same security benefits that the + {@link android.security.KeyChain} API provides for system-wide + credentials. This method requires no user interaction to select the credentials.</p> + +<h2 id="UsingAndroidKeyStore">Using Android Keystore Provider</h2> + +<p> +To use this feature, you use the standard {@link java.security.KeyStore} +and {@link java.security.KeyPairGenerator} classes along with the +{@code AndroidKeyStore} provider introduced in Android 4.3 (API level 18).</p> + +<p>{@code AndroidKeyStore} is registered as a {@link + java.security.KeyStore} type for use with the {@link + java.security.KeyStore#getInstance(String) KeyStore.getInstance(type)} + method and as a provider for use with the {@link + java.security.KeyPairGenerator#getInstance(String, String) + KeyPairGenerator.getInstance(algorithm, provider)} method.</p> + +<h3 id="GeneratingANewPrivateKey">Generating a New Private Key</h3> + +<p>Generating a new {@link java.security.PrivateKey} requires that + you also specify the initial X.509 attributes that the self-signed + certificate will have. You can replace the certificate at a later + time with a certificate signed by a Certificate Authority.</p> + +<p>To generate the key, use a {@link java.security.KeyPairGenerator} + with {@link android.security.KeyPairGeneratorSpec}:</p> + +{@sample development/samples/ApiDemos/src/com/example/android/apis/security/KeyStoreUsage.java generate} + +<h3 id="WorkingWithKeyStoreEntries">Working with Keystore Entries</h3> + +<p>Using the {@code AndroidKeyStore} provider takes place through + all the standard {@link java.security.KeyStore} APIs.</p> + +<h4 id="ListingEntries">Listing Entries</h4> + +<p>List entries in the keystore by calling the {@link + java.security.KeyStore#aliases()} method:</p> + +{@sample development/samples/ApiDemos/src/com/example/android/apis/security/KeyStoreUsage.java list} + +<h4 id="SigningAndVerifyingData">Signing and Verifying Data</h4> + +<p>Sign data by fetching the {@link + java.security.KeyStore.Entry} from the keystore and using the + {@link java.security.Signature} APIs, such as {@link + java.security.Signature#sign()}:</p> + +{@sample development/samples/ApiDemos/src/com/example/android/apis/security/KeyStoreUsage.java sign} + +<p>Similarly, verify data with the {@link java.security.Signature#verify(byte[])} method:</p> + +{@sample development/samples/ApiDemos/src/com/example/android/apis/security/KeyStoreUsage.java verify} |
