getInstance(String algorithm)
The getInstance() method of java.security.Provider class is used to return a Signature object that implements the specified signature algorithm.
This method traverses the list of registered security Providers, starting with the most preferred Provider. A new Signature object encapsulating the SignatureSpi implementation from the first Provider that supports the specified algorithm is returned.
Syntax:
public static Signature getInstance(String algorithm) throws NoSuchAlgorithmException
Parameters: This method takes the standard name of Algorithm as a parameter.
Return Value: This method returns the new Signature object.
Exception: This method throws NoSuchAlgorithmException if no Provider supports a Signature implementation for the specified algorithm.
Below are the examples to illustrate the getInstance() method:
Example 1:
Java
// Java program to demonstrate // getInstance() method import java.security.*; import java.util.*; public class GFG1 { public static void main(String[] argv) { try { // creating the object of Signature and getting instance // By using getInstance() method Signature sr = Signature.getInstance( "SHA1WithRSA" ); // getting the status of signature object String str = sr.toString(); // printing the status System.out.println( "Status : " + str); } catch (NoSuchAlgorithmException e) { System.out.println( "Exception thrown : " + e); } catch (ProviderException e) { System.out.println( "Exception thrown : " + e); } } } |
Status : Signature object: SHA1WithRSA
Example 2: To show NoSuchAlgorithmException
Java
// Java program to demonstrate // getInstance() method import java.security.*; import java.util.*; public class GFG1 { public static void main(String[] argv) { try { // creating the object of Signature and getting instance // By using getInstance() method System.out.println( "Trying to get the instance of unknown instance" ); Signature sr = Signature.getInstance( "TAJMAHAL" ); // getting the status of signature object String str = sr.toString(); // printing the status System.out.println( "Status : " + str); } catch (NoSuchAlgorithmException e) { System.out.println( "Exception thrown : " + e); } catch (ProviderException e) { System.out.println( "Exception thrown : " + e); } } } |
Trying to get the instance of unknown instance Exception thrown : java.security.NoSuchAlgorithmException: TAJMAHAL Signature not available
Signature getInstance(String algorithm, Provider provider)
The getInstance() method of java.security.Provider class is used to Returns a Signature object that implements the specified signature algorithm.
A new Signature object encapsulating the SignatureSpi implementation from the specified Provider object is returned. Note that the specified Provider object does not have to be registered in the provider list.
Syntax:
public static Signature getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
Parameters: This method takes the following arguments as a parameters:
- algorithm– the name of the algorithm requested.
- provider– the provider
Return Value: This method returns the new Signature object.
Exception: This method throws following exceptions:
- NoSuchAlgorithmException– if a SignatureSpi implementation for the specified algorithm is not available from the specified Provider object.
- IllegalArgumentException– if the provider is null.
Below are the examples to illustrate the getInstance() method:
Example 1:
Java
// Java program to demonstrate // getInstance() method import java.security.*; import java.util.*; public class GFG1 { public static void main(String[] argv) { try { // creating the object of Signature and getting instance // By using getInstance() method Signature sr = Signature.getInstance( "SHA1WithRSA" ); // creating Provider object Provider pd = sr.getProvider(); // getting algorithm name // by using getAlgorithm() method String algo = sr.getAlgorithm(); // creating the object of Signature and getting instance // By using getInstance() method Signature sr1 = Signature.getInstance(algo, pd); // getting the status of signature object String str = sr1.toString(); // printing the status System.out.println( "Status : " + str); } catch (NoSuchAlgorithmException e) { System.out.println( "Exception thrown : " + e); } catch (ProviderException e) { System.out.println( "Exception thrown : " + e); } } } |
Status : Signature object: SHA1WithRSA
Example 2: To show NoSuchAlgorithmException
Java
// Java program to demonstrate // getInstance() method import java.security.*; import java.util.*; public class GFG1 { public static void main(String[] argv) { try { // creating the object of Signature and getting instance // By using getInstance() method Signature sr = Signature.getInstance( "SHA1WithRSA" ); // creating Provider object Provider pd = sr.getProvider(); // getting algorithm name // by using getAlgorithm() method String algo = sr.getAlgorithm(); // creating the object of Signature and getting instance // By using getInstance() method Signature sr1 = Signature.getInstance( "TAJMAHAL" , pd); // getting the status of signature object String str = sr1.toString(); // printing the status System.out.println( "Status : " + str); } catch (NoSuchAlgorithmException e) { System.out.println( "Exception thrown : " + e); } catch (ProviderException e) { System.out.println( "Exception thrown : " + e); } } } |
Exception thrown : java.security.NoSuchAlgorithmException: no such algorithm: TAJMAHAL for provider SunRsaSign
Example 3: To show IllegalArgumentException
Java
// Java program to demonstrate // getInstance() method import java.security.*; import java.util.*; public class GFG1 { public static void main(String[] argv) { try { // creating the object of Signature and getting instance // By using getInstance() method Signature sr = Signature.getInstance( "SHA1WithRSA" ); // creating Provider object Provider pd = null ; // getting algorithm name // by using getAlgorithm() method String algo = sr.getAlgorithm(); // creating the object of Signature and getting instance // By using getInstance() method Signature sr1 = Signature.getInstance(algo, pd); // getting the status of signature object String str = sr1.toString(); // printing the status System.out.println( "Status : " + str); } catch (NoSuchAlgorithmException e) { System.out.println( "Exception thrown : " + e); } catch (ProviderException e) { System.out.println( "Exception thrown : " + e); } catch (IllegalArgumentException e) { System.out.println( "Exception thrown : " + e); } } } |
Exception thrown : java.lang.IllegalArgumentException: missing provider