diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-02-13 12:57:48 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-02-13 12:57:48 -0800 |
commit | 9cb89d78930c6ff1f18ab5e3eea393a47e9fff4d (patch) | |
tree | e03c4748ec34c1ace469c8f00ef6ee403aeb4966 /security/src | |
parent | b7926325a1c1a370c84c81db80372f59af240a53 (diff) | |
download | libcore-9cb89d78930c6ff1f18ab5e3eea393a47e9fff4d.zip libcore-9cb89d78930c6ff1f18ab5e3eea393a47e9fff4d.tar.gz libcore-9cb89d78930c6ff1f18ab5e3eea393a47e9fff4d.tar.bz2 |
auto import from //branches/cupcake/...@131421
Diffstat (limited to 'security/src')
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 } } |