Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eddb9c89 authored by Kenny Root's avatar Kenny Root Committed by Android (Google) Code Review
Browse files

Merge "Rename API AndroidKey* -> Key*" into jb-mr2-dev

parents 63e550f2 1c219f61
Loading
Loading
Loading
Loading
+31 −31
Original line number Diff line number Diff line
@@ -21128,37 +21128,6 @@ package android.sax {
package android.security {
  public final class AndroidKeyPairGeneratorSpec implements java.security.spec.AlgorithmParameterSpec {
    method public android.content.Context getContext();
    method public java.util.Date getEndDate();
    method public java.lang.String getKeystoreAlias();
    method public java.math.BigInteger getSerialNumber();
    method public java.util.Date getStartDate();
    method public javax.security.auth.x500.X500Principal getSubjectDN();
    method public boolean isEncryptionRequired();
  }
  public static final class AndroidKeyPairGeneratorSpec.Builder {
    ctor public AndroidKeyPairGeneratorSpec.Builder(android.content.Context);
    method public android.security.AndroidKeyPairGeneratorSpec build();
    method public android.security.AndroidKeyPairGeneratorSpec.Builder setAlias(java.lang.String);
    method public android.security.AndroidKeyPairGeneratorSpec.Builder setEncryptionRequired();
    method public android.security.AndroidKeyPairGeneratorSpec.Builder setEndDate(java.util.Date);
    method public android.security.AndroidKeyPairGeneratorSpec.Builder setSerialNumber(java.math.BigInteger);
    method public android.security.AndroidKeyPairGeneratorSpec.Builder setStartDate(java.util.Date);
    method public android.security.AndroidKeyPairGeneratorSpec.Builder setSubject(javax.security.auth.x500.X500Principal);
  }
  public final class AndroidKeyStoreParameter implements java.security.KeyStore.ProtectionParameter {
    method public boolean isEncryptionRequired();
  }
  public static final class AndroidKeyStoreParameter.Builder {
    ctor public AndroidKeyStoreParameter.Builder(android.content.Context);
    method public android.security.AndroidKeyStoreParameter build();
    method public android.security.AndroidKeyStoreParameter.Builder setEncryptionRequired();
  }
  public final class KeyChain {
    ctor public KeyChain();
    method public static void choosePrivateKeyAlias(android.app.Activity, android.security.KeyChainAliasCallback, java.lang.String[], java.security.Principal[], java.lang.String, int, java.lang.String);
@@ -21184,6 +21153,37 @@ package android.security {
    ctor public KeyChainException(java.lang.Throwable);
  }
  public final class KeyPairGeneratorSpec implements java.security.spec.AlgorithmParameterSpec {
    method public android.content.Context getContext();
    method public java.util.Date getEndDate();
    method public java.lang.String getKeystoreAlias();
    method public java.math.BigInteger getSerialNumber();
    method public java.util.Date getStartDate();
    method public javax.security.auth.x500.X500Principal getSubjectDN();
    method public boolean isEncryptionRequired();
  }
  public static final class KeyPairGeneratorSpec.Builder {
    ctor public KeyPairGeneratorSpec.Builder(android.content.Context);
    method public android.security.KeyPairGeneratorSpec build();
    method public android.security.KeyPairGeneratorSpec.Builder setAlias(java.lang.String);
    method public android.security.KeyPairGeneratorSpec.Builder setEncryptionRequired();
    method public android.security.KeyPairGeneratorSpec.Builder setEndDate(java.util.Date);
    method public android.security.KeyPairGeneratorSpec.Builder setSerialNumber(java.math.BigInteger);
    method public android.security.KeyPairGeneratorSpec.Builder setStartDate(java.util.Date);
    method public android.security.KeyPairGeneratorSpec.Builder setSubject(javax.security.auth.x500.X500Principal);
  }
  public final class KeyStoreParameter implements java.security.KeyStore.ProtectionParameter {
    method public boolean isEncryptionRequired();
  }
  public static final class KeyStoreParameter.Builder {
    ctor public KeyStoreParameter.Builder(android.content.Context);
    method public android.security.KeyStoreParameter build();
    method public android.security.KeyStoreParameter.Builder setEncryptionRequired(boolean);
  }
}
package android.service.dreams {
+7 −7
Original line number Diff line number Diff line
@@ -52,12 +52,12 @@ import java.security.spec.X509EncodedKeySpec;
public class AndroidKeyPairGenerator extends KeyPairGeneratorSpi {
    private android.security.KeyStore mKeyStore;

    private AndroidKeyPairGeneratorSpec mSpec;
    private KeyPairGeneratorSpec mSpec;

    /**
     * Generate a KeyPair which is backed by the Android keystore service. You
     * must call {@link KeyPairGenerator#initialize(AlgorithmParameterSpec)}
     * with an {@link AndroidKeyPairGeneratorSpec} as the {@code params}
     * with an {@link KeyPairGeneratorSpec} as the {@code params}
     * argument before calling this otherwise an {@code IllegalStateException}
     * will be thrown.
     * <p>
@@ -73,7 +73,7 @@ public class AndroidKeyPairGenerator extends KeyPairGeneratorSpi {
    public KeyPair generateKeyPair() {
        if (mKeyStore == null || mSpec == null) {
            throw new IllegalStateException(
                    "Must call initialize with an AndroidKeyPairGeneratorSpec first");
                    "Must call initialize with an android.security.KeyPairGeneratorSpec first");
        }

        if (((mSpec.getFlags() & KeyStore.FLAG_ENCRYPTED) != 0)
@@ -156,13 +156,13 @@ public class AndroidKeyPairGenerator extends KeyPairGeneratorSpi {
            throws InvalidAlgorithmParameterException {
        if (params == null) {
            throw new InvalidAlgorithmParameterException(
                    "must supply params of type AndroidKeyPairGenericSpec");
        } else if (!(params instanceof AndroidKeyPairGeneratorSpec)) {
                    "must supply params of type android.security.KeyPairGeneratorSpec");
        } else if (!(params instanceof KeyPairGeneratorSpec)) {
            throw new InvalidAlgorithmParameterException(
                    "params must be of type AndroidKeyPairGeneratorSpec");
                    "params must be of type android.security.KeyPairGeneratorSpec");
        }

        AndroidKeyPairGeneratorSpec spec = (AndroidKeyPairGeneratorSpec) params;
        KeyPairGeneratorSpec spec = (KeyPairGeneratorSpec) params;

        mSpec = spec;
        mKeyStore = android.security.KeyStore.getInstance();
+5 −4
Original line number Diff line number Diff line
@@ -209,7 +209,7 @@ public class AndroidKeyStore extends KeyStoreSpi {
    }

    private void setPrivateKeyEntry(String alias, PrivateKey key, Certificate[] chain,
            AndroidKeyStoreParameter params) throws KeyStoreException {
            KeyStoreParameter params) throws KeyStoreException {
        byte[] keyBytes = null;

        final String pkeyAlias;
@@ -544,15 +544,16 @@ public class AndroidKeyStore extends KeyStoreSpi {
            return;
        }

        if (param != null && !(param instanceof AndroidKeyStoreParameter)) {
            throw new KeyStoreException("protParam should be AndroidKeyStoreParameter; was: "
        if (param != null && !(param instanceof KeyStoreParameter)) {
            throw new KeyStoreException(
                    "protParam should be android.security.KeyStoreParameter; was: "
                    + param.getClass().getName());
        }

        if (entry instanceof PrivateKeyEntry) {
            PrivateKeyEntry prE = (PrivateKeyEntry) entry;
            setPrivateKeyEntry(alias, prE.getPrivateKey(), prE.getCertificateChain(),
                    (AndroidKeyStoreParameter) param);
                    (KeyStoreParameter) param);
            return;
        }

+2 −2
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ import java.security.Provider;
 * @hide
 */
public class AndroidKeyStoreProvider extends Provider {
    public static final String PROVIDER_NAME = "AndroidKeyStoreProvider";
    public static final String PROVIDER_NAME = "AndroidKeyStore";

    public AndroidKeyStoreProvider() {
        super(PROVIDER_NAME, 1.0, "Android KeyStore security provider");
@@ -33,6 +33,6 @@ public class AndroidKeyStoreProvider extends Provider {
        put("KeyStore." + AndroidKeyStore.NAME, AndroidKeyStore.class.getName());

        // java.security.KeyPairGenerator
        put("KeyPairGenerator." + AndroidKeyStore.NAME, AndroidKeyPairGenerator.class.getName());
        put("KeyPairGenerator.RSA", AndroidKeyPairGenerator.class.getName());
    }
}
+15 −19
Original line number Diff line number Diff line
@@ -29,9 +29,9 @@ import javax.security.auth.x500.X500Principal;

/**
 * This provides the required parameters needed for initializing the
 * {@code KeyPairGenerator} that works with <a href="{@docRoot}
 * guide/topics/security/keystore.html">Android KeyStore facility</a>. The
 * Android KeyStore facility is accessed through a
 * {@code KeyPairGenerator} that works with
 * <a href="{@docRoot}guide/topics/security/keystore.html">Android KeyStore
 * facility</a>. The Android KeyStore facility is accessed through a
 * {@link java.security.KeyPairGenerator} API using the {@code AndroidKeyStore}
 * provider. The {@code context} passed in may be used to pop up some UI to ask
 * the user to unlock or initialize the Android KeyStore facility.
@@ -49,7 +49,7 @@ import javax.security.auth.x500.X500Principal;
 * The self-signed X.509 certificate may be replaced at a later time by a
 * certificate signed by a real Certificate Authority.
 */
public final class AndroidKeyPairGeneratorSpec implements AlgorithmParameterSpec {
public final class KeyPairGeneratorSpec implements AlgorithmParameterSpec {
    private final String mKeystoreAlias;

    private final Context mContext;
@@ -91,9 +91,9 @@ public final class AndroidKeyPairGeneratorSpec implements AlgorithmParameterSpec
     *            period
     * @throws IllegalArgumentException when any argument is {@code null} or
     *             {@code endDate} is before {@code startDate}.
     * @hide should be built with AndroidKeyPairGeneratorSpecBuilder
     * @hide should be built with KeyPairGeneratorSpecBuilder
     */
    public AndroidKeyPairGeneratorSpec(Context context, String keyStoreAlias,
    public KeyPairGeneratorSpec(Context context, String keyStoreAlias,
            X500Principal subjectDN, BigInteger serialNumber, Date startDate, Date endDate,
            int flags) {
        if (context == null) {
@@ -184,7 +184,7 @@ public final class AndroidKeyPairGeneratorSpec implements AlgorithmParameterSpec
    }

    /**
     * Builder class for {@link AndroidKeyPairGeneratorSpec} objects.
     * Builder class for {@link KeyPairGeneratorSpec} objects.
     * <p>
     * This will build a parameter spec for use with the <a href="{@docRoot}
     * guide/topics/security/keystore.html">Android KeyStore facility</a>.
@@ -198,14 +198,10 @@ public final class AndroidKeyPairGeneratorSpec implements AlgorithmParameterSpec
     * Calendar end = new Calendar();
     * end.add(1, Calendar.YEAR);
     *
     * AndroidKeyPairGeneratorSpec spec =
     *         new AndroidKeyPairGeneratorSpec.Builder(mContext)
     *                 .setAlias(&quot;myKey&quot;)
     *                 .setSubject(new X500Principal(&quot;CN=myKey&quot;))
     *                 .setSerial(BigInteger.valueOf(1337))
     *                 .setStartDate(start.getTime())
     *                 .setEndDate(end.getTime())
     *                 .build();
     * KeyPairGeneratorSpec spec =
     *         new KeyPairGeneratorSpec.Builder(mContext).setAlias(&quot;myKey&quot;)
     *                 .setSubject(new X500Principal(&quot;CN=myKey&quot;)).setSerial(BigInteger.valueOf(1337))
     *                 .setStartDate(start.getTime()).setEndDate(end.getTime()).build();
     * </pre>
     */
    public final static class Builder {
@@ -309,13 +305,13 @@ public final class AndroidKeyPairGeneratorSpec implements AlgorithmParameterSpec
        }

        /**
         * Builds the instance of the {@code AndroidKeyPairGeneratorSpec}.
         * Builds the instance of the {@code KeyPairGeneratorSpec}.
         *
         * @throws IllegalArgumentException if a required field is missing
         * @return built instance of {@code AndroidKeyPairGeneratorSpec}
         * @return built instance of {@code KeyPairGeneratorSpec}
         */
        public AndroidKeyPairGeneratorSpec build() {
            return new AndroidKeyPairGeneratorSpec(mContext, mKeystoreAlias, mSubjectDN,
        public KeyPairGeneratorSpec build() {
            return new KeyPairGeneratorSpec(mContext, mKeystoreAlias, mSubjectDN,
                    mSerialNumber, mStartDate, mEndDate, mFlags);
        }
    }
Loading