summaryrefslogtreecommitdiffstats
path: root/security/src
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-02-13 12:57:48 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-02-13 12:57:48 -0800
commit9cb89d78930c6ff1f18ab5e3eea393a47e9fff4d (patch)
treee03c4748ec34c1ace469c8f00ef6ee403aeb4966 /security/src
parentb7926325a1c1a370c84c81db80372f59af240a53 (diff)
downloadlibcore-9cb89d78930c6ff1f18ab5e3eea393a47e9fff4d.zip
libcore-9cb89d78930c6ff1f18ab5e3eea393a47e9fff4d.tar.gz
libcore-9cb89d78930c6ff1f18ab5e3eea393a47e9fff4d.tar.bz2
auto import from //branches/cupcake/...@131421
Diffstat (limited to 'security/src')
-rw-r--r--security/src/main/java/java/security/Security.java4
-rw-r--r--security/src/main/java/org/apache/harmony/security/internal/nls/messages.properties1
-rw-r--r--security/src/main/java/org/apache/harmony/security/provider/cert/X509CertImpl.java7
-rw-r--r--security/src/main/java/org/bouncycastle/crypto/PBEParametersGenerator.java4
4 files changed, 13 insertions, 3 deletions
diff --git a/security/src/main/java/java/security/Security.java b/security/src/main/java/java/security/Security.java
index 78abdb7..d5c77dc 100644
--- a/security/src/main/java/java/security/Security.java
+++ b/security/src/main/java/java/security/Security.java
@@ -181,7 +181,9 @@ public final class Security {
if (algName == null || propName == null) {
return null;
}
- String prop = propName + "." + algName; //$NON-NLS-1$
+ // BEGIN android-changed
+ String prop = "Alg." + propName + "." + algName; //$NON-NLS-1$
+ // END android-changed
Provider[] providers = getProviders();
for (int i = 0; i < providers.length; i++) {
for (Enumeration e = providers[i].propertyNames(); e
diff --git a/security/src/main/java/org/apache/harmony/security/internal/nls/messages.properties b/security/src/main/java/org/apache/harmony/security/internal/nls/messages.properties
index 9a73b51..7fb0b4b 100644
--- a/security/src/main/java/org/apache/harmony/security/internal/nls/messages.properties
+++ b/security/src/main/java/org/apache/harmony/security/internal/nls/messages.properties
@@ -133,6 +133,7 @@ security.15B2=Incorrect PEM encoding: New line code is expected after the openin
security.15B3=Bad Certificate encoding.
security.15B4=Bad CRL encoding.
security.15C=Signature was not verified.
+security.15C1=key is not instanceof RSAPublicKey
security.15D=One of provided certificates is not X509 certificate
security.15E=Incorrect encoded form: {0}
security.15F=Unsupported encoding.
diff --git a/security/src/main/java/org/apache/harmony/security/provider/cert/X509CertImpl.java b/security/src/main/java/org/apache/harmony/security/provider/cert/X509CertImpl.java
index 20e73bd..3face61 100644
--- a/security/src/main/java/org/apache/harmony/security/provider/cert/X509CertImpl.java
+++ b/security/src/main/java/org/apache/harmony/security/provider/cert/X509CertImpl.java
@@ -567,8 +567,13 @@ public class X509CertImpl extends X509Certificate {
* @param key The RSA public key to use
*
* @throws SignatureException If the verification fails.
+ * @throws InvalidKeyException
*/
- private void fastVerify(PublicKey key) throws SignatureException {
+ private void fastVerify(PublicKey key) throws SignatureException,
+ InvalidKeyException {
+ if (!(key instanceof RSAPublicKey)) {
+ throw new InvalidKeyException(Messages.getString("security.15C1"));
+ }
RSAPublicKey rsaKey = (RSAPublicKey) key;
String algorithm = getSigAlgName();
diff --git a/security/src/main/java/org/bouncycastle/crypto/PBEParametersGenerator.java b/security/src/main/java/org/bouncycastle/crypto/PBEParametersGenerator.java
index 12000aa..aaa6015 100644
--- a/security/src/main/java/org/bouncycastle/crypto/PBEParametersGenerator.java
+++ b/security/src/main/java/org/bouncycastle/crypto/PBEParametersGenerator.java
@@ -121,7 +121,8 @@ public abstract class PBEParametersGenerator
public static byte[] PKCS12PasswordToBytes(
char[] password)
{
- if (password.length > 0)
+ // BEGIN android-changed
+ if (password != null && password.length > 0)
{
// +1 for extra 2 pad bytes.
byte[] bytes = new byte[(password.length + 1) * 2];
@@ -138,5 +139,6 @@ public abstract class PBEParametersGenerator
{
return new byte[0];
}
+ // END android-changed
}
}