Add new key purpose Wrap Key to KeyProperties.java and

KeymasterDefs.java.

Test: There will be a CTS test CL submitted together.
Change-Id: Ic60c3efc451cd7cbb04689b3d7bf9d607fae6c1f
This commit is contained in:
Crystal Qin
2017-01-03 15:45:23 -08:00
parent a9da39cb64
commit eb30e64f3f
5 changed files with 16 additions and 0 deletions

View File

@@ -35269,6 +35269,7 @@ package android.security.keystore {
field public static final int PURPOSE_ENCRYPT = 1; // 0x1
field public static final int PURPOSE_SIGN = 4; // 0x4
field public static final int PURPOSE_VERIFY = 8; // 0x8
field public static final int PURPOSE_WRAP_KEY = 16; // 0x10
field public static final java.lang.String SIGNATURE_PADDING_RSA_PKCS1 = "PKCS1";
field public static final java.lang.String SIGNATURE_PADDING_RSA_PSS = "PSS";
}

View File

@@ -38175,6 +38175,7 @@ package android.security.keystore {
field public static final int PURPOSE_ENCRYPT = 1; // 0x1
field public static final int PURPOSE_SIGN = 4; // 0x4
field public static final int PURPOSE_VERIFY = 8; // 0x8
field public static final int PURPOSE_WRAP_KEY = 16; // 0x10
field public static final java.lang.String SIGNATURE_PADDING_RSA_PKCS1 = "PKCS1";
field public static final java.lang.String SIGNATURE_PADDING_RSA_PSS = "PSS";
}

View File

@@ -35390,6 +35390,7 @@ package android.security.keystore {
field public static final int PURPOSE_ENCRYPT = 1; // 0x1
field public static final int PURPOSE_SIGN = 4; // 0x4
field public static final int PURPOSE_VERIFY = 8; // 0x8
field public static final int PURPOSE_WRAP_KEY = 16; // 0x10
field public static final java.lang.String SIGNATURE_PADDING_RSA_PKCS1 = "PKCS1";
field public static final java.lang.String SIGNATURE_PADDING_RSA_PSS = "PSS";
}

View File

@@ -132,6 +132,8 @@ public final class KeymasterDefs {
public static final int KM_PURPOSE_DECRYPT = 1;
public static final int KM_PURPOSE_SIGN = 2;
public static final int KM_PURPOSE_VERIFY = 3;
public static final int KM_PURPOSE_DERIVE_KEY = 4;
public static final int KM_PURPOSE_WRAP_KEY = 5;
// Key formats.
public static final int KM_KEY_FORMAT_X509 = 0;

View File

@@ -45,6 +45,7 @@ public abstract class KeyProperties {
PURPOSE_DECRYPT,
PURPOSE_SIGN,
PURPOSE_VERIFY,
PURPOSE_WRAP_KEY,
})
public @interface PurposeEnum {}
@@ -68,6 +69,12 @@ public abstract class KeyProperties {
*/
public static final int PURPOSE_VERIFY = 1 << 3;
/**
* Purpose of key: wrapping key for secure key import.
*/
public static final int PURPOSE_WRAP_KEY = 1 << 4;
/**
* @hide
*/
@@ -84,6 +91,8 @@ public abstract class KeyProperties {
return KeymasterDefs.KM_PURPOSE_SIGN;
case PURPOSE_VERIFY:
return KeymasterDefs.KM_PURPOSE_VERIFY;
case PURPOSE_WRAP_KEY:
return KeymasterDefs.KM_PURPOSE_WRAP_KEY;
default:
throw new IllegalArgumentException("Unknown purpose: " + purpose);
}
@@ -99,6 +108,8 @@ public abstract class KeyProperties {
return PURPOSE_SIGN;
case KeymasterDefs.KM_PURPOSE_VERIFY:
return PURPOSE_VERIFY;
case KeymasterDefs.KM_PURPOSE_WRAP_KEY:
return PURPOSE_WRAP_KEY;
default:
throw new IllegalArgumentException("Unknown purpose: " + purpose);
}