< prev index next >
src/jdk.crypto.mscapi/windows/classes/sun/security/mscapi/RSASignature.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
@@ -24,19 +24,12 @@
*/
package sun.security.mscapi;
import java.nio.ByteBuffer;
-import java.security.PublicKey;
-import java.security.PrivateKey;
-import java.security.InvalidKeyException;
-import java.security.InvalidParameterException;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.security.ProviderException;
-import java.security.MessageDigest;
-import java.security.SignatureException;
+import java.security.*;
+import java.security.spec.AlgorithmParameterSpec;
import java.math.BigInteger;
import sun.security.rsa.RSAKeyFactory;
/**
@@ -228,10 +221,11 @@
super("MD2");
}
}
// initialize for signing. See JCA doc
+ @Override
protected void engineInitVerify(PublicKey key)
throws InvalidKeyException
{
// This signature accepts only RSAPublicKey
if ((key instanceof java.security.interfaces.RSAPublicKey) == false) {
@@ -278,10 +272,11 @@
this.privateKey = null;
resetDigest();
}
// initialize for signing. See JCA doc
+ @Override
protected void engineInitSign(PrivateKey key) throws InvalidKeyException
{
// This signature accepts only RSAPrivateKey
if ((key instanceof sun.security.mscapi.RSAPrivateKey) == false) {
throw new InvalidKeyException("Key type not supported");
@@ -324,10 +319,11 @@
* @param b the byte to use for the update.
*
* @exception SignatureException if the engine is not initialized
* properly.
*/
+ @Override
protected void engineUpdate(byte b) throws SignatureException
{
messageDigest.update(b);
needsReset = true;
}
@@ -341,10 +337,11 @@
* @param len the number of bytes to use, starting at offset
*
* @exception SignatureException if the engine is not initialized
* properly
*/
+ @Override
protected void engineUpdate(byte[] b, int off, int len)
throws SignatureException
{
messageDigest.update(b, off, len);
needsReset = true;
@@ -354,10 +351,11 @@
* Updates the data to be signed or verified, using the
* specified ByteBuffer.
*
* @param input the ByteBuffer
*/
+ @Override
protected void engineUpdate(ByteBuffer input)
{
messageDigest.update(input);
needsReset = true;
}
@@ -372,10 +370,11 @@
*
* @exception SignatureException if the engine is not
* initialized properly or if this signature algorithm is unable to
* process the input data provided.
*/
+ @Override
protected byte[] engineSign() throws SignatureException {
byte[] hash = getDigestValue();
// Omit the hash OID when generating a Raw signature
@@ -433,10 +432,11 @@
* @exception SignatureException if the engine is not
* initialized properly, the passed-in signature is improperly
* encoded or of the wrong type, if this signature algorithm is unable to
* process the input data provided, etc.
*/
+ @Override
protected boolean engineVerify(byte[] sigBytes)
throws SignatureException
{
byte[] hash = getDigestValue();
@@ -468,17 +468,34 @@
*
* @deprecated Replaced by {@link
* #engineSetParameter(java.security.spec.AlgorithmParameterSpec)
* engineSetParameter}.
*/
+ @Override
@Deprecated
protected void engineSetParameter(String param, Object value)
throws InvalidParameterException
{
throw new InvalidParameterException("Parameter not supported");
}
+ /**
+ * Sets this signature engine with the specified algorithm parameter.
+ *
+ * @param params the parameters
+ *
+ * @exception InvalidAlgorithmParameterException if the given
+ * parameter is invalid
+ */
+ @Override
+ protected void engineSetParameter(AlgorithmParameterSpec params)
+ throws InvalidAlgorithmParameterException
+ {
+ if (params != null) {
+ throw new InvalidAlgorithmParameterException("No parameter accepted");
+ }
+ }
/**
* Gets the value of the specified algorithm parameter.
* This method supplies a general-purpose mechanism through which it
* is possible to get the various parameters of this object. A parameter
@@ -498,18 +515,29 @@
* invalid parameter for this engine, or another exception occurs while
* trying to get this parameter.
*
* @deprecated
*/
+ @Override
@Deprecated
protected Object engineGetParameter(String param)
throws InvalidParameterException
{
throw new InvalidParameterException("Parameter not supported");
}
/**
+ * Gets the algorithm parameter from this signature engine.
+ *
+ * @return the parameter, or null if no parameter is used.
+ */
+ @Override
+ protected AlgorithmParameters engineGetParameters() {
+ return null;
+ }
+
+ /**
* Generates a public-key BLOB from a key's components.
*/
// used by RSACipher
static native byte[] generatePublicKeyBlob(
int keyBitLength, byte[] modulus, byte[] publicExponent)
< prev index next >