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

Commit 1af25508 authored by Alex Klyubin's avatar Alex Klyubin
Browse files

Move PointFormat constants into parent class.

This gets rid of EcIesParameterSpec.PointFormat by moving the
constants into EcIesParameterSpec, prefixed with POINT_FORMAT_.

Bug: 21039983
Change-Id: I7a76bb84e0394db9c7f5b0d53526915d5bbdd511
parent 56b96da7
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -28310,6 +28310,9 @@ package android.security {
    method public java.lang.String getKemKdfAlgorithm();
    method public int getKemPointFormat();
    field public static final android.security.EcIesParameterSpec DEFAULT;
    field public static final int POINT_FORMAT_COMPRESSED = 1; // 0x1
    field public static final int POINT_FORMAT_UNCOMPRESSED = 0; // 0x0
    field public static final int POINT_FORMAT_UNSPECIFIED = -1; // 0xffffffff
  }
  public static class EcIesParameterSpec.Builder {
@@ -28323,12 +28326,6 @@ package android.security {
    method public android.security.EcIesParameterSpec.Builder setKemPointFormat(int);
  }
  public static abstract class EcIesParameterSpec.PointFormat {
    field public static final int COMPRESSED = 1; // 0x1
    field public static final int UNCOMPRESSED = 0; // 0x0
    field public static final int UNSPECIFIED = -1; // 0xffffffff
  }
  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);
+3 −6
Original line number Diff line number Diff line
@@ -30333,6 +30333,9 @@ package android.security {
    method public java.lang.String getKemKdfAlgorithm();
    method public int getKemPointFormat();
    field public static final android.security.EcIesParameterSpec DEFAULT;
    field public static final int POINT_FORMAT_COMPRESSED = 1; // 0x1
    field public static final int POINT_FORMAT_UNCOMPRESSED = 0; // 0x0
    field public static final int POINT_FORMAT_UNSPECIFIED = -1; // 0xffffffff
  }
  public static class EcIesParameterSpec.Builder {
@@ -30346,12 +30349,6 @@ package android.security {
    method public android.security.EcIesParameterSpec.Builder setKemPointFormat(int);
  }
  public static abstract class EcIesParameterSpec.PointFormat {
    field public static final int COMPRESSED = 1; // 0x1
    field public static final int UNCOMPRESSED = 0; // 0x0
    field public static final int UNSPECIFIED = -1; // 0xffffffff
  }
  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);
+23 −31
Original line number Diff line number Diff line
@@ -56,47 +56,39 @@ public class EcIesParameterSpec implements AlgorithmParameterSpec {
     */
    @Retention(RetentionPolicy.SOURCE)
    @IntDef({
        PointFormat.UNSPECIFIED,
        PointFormat.UNCOMPRESSED,
        PointFormat.COMPRESSED,
        POINT_FORMAT_UNSPECIFIED,
        POINT_FORMAT_UNCOMPRESSED,
        POINT_FORMAT_COMPRESSED,
        })
    public @interface PointFormatEnum {}

    /**
     * Wire format of the EC point.
     */
    public static abstract class PointFormat {

        private PointFormat() {}

        /** Unspecified point format. */
        public static final int UNSPECIFIED = -1;
    /** Unspecified EC point format. */
    public static final int POINT_FORMAT_UNSPECIFIED = -1;

    /**
         * Uncompressed point format: both coordinates are stored separately.
     * Uncompressed EC point format: both coordinates are stored separately.
     *
         * <p>The wire format is byte {@code 0x04} followed by binary representation of the
         * {@code x} coordinate followed by binary representation of the {@code y} coordinate. See
     * <p>The wire format is byte {@code 0x04} followed by binary representation of the {@code x}
     * coordinate followed by binary representation of the {@code y} coordinate. See
     * {@code ISO 18033-2} section {@code 5.4.3}.
     */
        public static final int UNCOMPRESSED = 0;
    public static final int POINT_FORMAT_UNCOMPRESSED = 0;

    /**
         * Compressed point format: only one coordinate is stored.
     * Compressed EC point format: only one coordinate is stored.
     *
         * <p>The wire format is byte {@code 0x02} or {@code 0x03} (depending on the value of the
         * stored coordinate) followed by the binary representation of the {@code x} coordinate.
         * See {@code ISO 18033-2} section {@code 5.4.3}.
     * <p>The wire format is byte {@code 0x02} or {@code 0x03} (depending on the value of the stored
     * coordinate) followed by the binary representation of the {@code x} coordinate. See
     * {@code ISO 18033-2} section {@code 5.4.3}.
     */
        public static final int COMPRESSED = 1;
    }
    public static final int POINT_FORMAT_COMPRESSED = 1;

    /**
     * Default parameter spec: compressed point format, {@code HKDFwithSHA256}, DEM uses 128-bit AES
     * GCM.
     */
    public static final EcIesParameterSpec DEFAULT = new EcIesParameterSpec(
            PointFormat.COMPRESSED,
            POINT_FORMAT_COMPRESSED,
            "HKDFwithSHA256",
            "AES/GCM/NoPadding",
            128,
@@ -126,7 +118,7 @@ public class EcIesParameterSpec implements AlgorithmParameterSpec {
    }

    /**
     * Returns KEM EC point wire format or {@link PointFormat#UNSPECIFIED} if not specified.
     * Returns KEM EC point wire format or {@link #POINT_FORMAT_UNSPECIFIED} if not specified.
     */
    public @PointFormatEnum int getKemPointFormat() {
        return mKemPointFormat;
@@ -187,7 +179,7 @@ public class EcIesParameterSpec implements AlgorithmParameterSpec {
     * Builder of {@link EcIesParameterSpec}.
     */
    public static class Builder {
        private @PointFormatEnum int mKemPointFormat = PointFormat.UNSPECIFIED;
        private @PointFormatEnum int mKemPointFormat = POINT_FORMAT_UNSPECIFIED;
        private String mKemKdfAlgorithm;
        private String mDemCipherTransformation;
        private int mDemCipherKeySize = 128;