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
This commit is contained in:
Alex Klyubin
2015-05-12 10:05:53 -07:00
parent 56b96da7e1
commit 1af25508d6
3 changed files with 29 additions and 43 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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 {}
/** Unspecified EC point format. */
public static final int POINT_FORMAT_UNSPECIFIED = -1;
/**
* Wire format of the EC point.
* 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
* {@code ISO 18033-2} section {@code 5.4.3}.
*/
public static abstract class PointFormat {
public static final int POINT_FORMAT_UNCOMPRESSED = 0;
private PointFormat() {}
/** Unspecified point format. */
public static final int UNSPECIFIED = -1;
/**
* Uncompressed 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
* {@code ISO 18033-2} section {@code 5.4.3}.
*/
public static final int UNCOMPRESSED = 0;
/**
* Compressed 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}.
*/
public static final int COMPRESSED = 1;
}
/**
* 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}.
*/
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;