You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@santuario.apache.org by Julien TAUPIN <ju...@ilex.fr> on 2005/09/27 11:27:02 UTC

Use of JCEMapper.setProviderID()

 
Hi all,

I'm sorry to insist but I do not understand why my modifications on
SignatureDSA do not have been accepted. 

For the moment, during RSA signature we get the JCA Signature object from
the provider defined with JCEMapper.setProviderID(providerName);

This is done in the
org.apache.xml.security.algorithms.implementations.SignatureBaseRSA class :

    String provider=JCEMapper.getProviderId();
    try{
      if (provider == null)
      {
        this._signatureAlgorithm = Signature.getInstance(algorithmID);
      }
      else
      {
        this._signatureAlgorithm = Signature.getInstance(algorithmID,
provider);
      }
    }catch (java.security.NoSuchAlgorithmException ex){
      Object[] exArgs = { algorithmID, ex.getLocalizedMessage() };
      throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs);
    }catch (NoSuchProviderException ex){
      Object[] exArgs = { algorithmID, ex.getLocalizedMessage() };
      throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs);
    }


But for the DSA signature the default provider is used in the
org.apache.xml.security.algorithms.implementations.SignatureDSA class :

  String algorithmID = JCEMapper.translateURItoJCEID(SignatureDSA._URI);
  if (log.isDebugEnabled())
    log.debug("Created SignatureDSA using " + algorithmID);

  try {
    this._signatureAlgorithm = Signature.getInstance(algorithmID);
  } catch (java.security.NoSuchAlgorithmException ex) {
     Object[] exArgs = { algorithmID, ex.getLocalizedMessage() };
     throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs);
  }

Why is there a difference between DSA and RSA ? 
How could I specify my provider to perform DSA signature ?

Re: Use of JCEMapper.setProviderID()

Posted by Raul Benito <ra...@gmail.com>.
Hi Julien,
  When I code this behaviour before the JCA simplification from Sean.
But I forgot to remove this methods after this.
  Anyway I also find it convenient for testing JUICE, but I think the
API/functionality will not survive to the JSR105 change.
  Thank you very much for your patch, but I´m not going to commit it
for the next release 1.3.
   But I don't foresee any reason to reject it after the release.

Anyway thanks for your help. And I hope you will keep contributing
time & patches.



On 9/27/05, Julien TAUPIN <ju...@ilex.fr> wrote:
>
> Hi all,
>
> I'm sorry to insist but I do not understand why my modifications on
> SignatureDSA do not have been accepted.
>
> For the moment, during RSA signature we get the JCA Signature object from
> the provider defined with JCEMapper.setProviderID(providerName);
>
> This is done in the
> org.apache.xml.security.algorithms.implementations.SignatureBaseRSA class :
>
>     String provider=JCEMapper.getProviderId();
>     try{
>       if (provider == null)
>       {
>         this._signatureAlgorithm = Signature.getInstance(algorithmID);
>       }
>       else
>       {
>         this._signatureAlgorithm = Signature.getInstance(algorithmID,
> provider);
>       }
>     }catch (java.security.NoSuchAlgorithmException ex){
>       Object[] exArgs = { algorithmID, ex.getLocalizedMessage() };
>       throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs);
>     }catch (NoSuchProviderException ex){
>       Object[] exArgs = { algorithmID, ex.getLocalizedMessage() };
>       throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs);
>     }
>
>
> But for the DSA signature the default provider is used in the
> org.apache.xml.security.algorithms.implementations.SignatureDSA class :
>
>   String algorithmID = JCEMapper.translateURItoJCEID(SignatureDSA._URI);
>   if (log.isDebugEnabled())
>     log.debug("Created SignatureDSA using " + algorithmID);
>
>   try {
>     this._signatureAlgorithm = Signature.getInstance(algorithmID);
>   } catch (java.security.NoSuchAlgorithmException ex) {
>      Object[] exArgs = { algorithmID, ex.getLocalizedMessage() };
>      throw new XMLSignatureException("algorithms.NoSuchAlgorithm", exArgs);
>   }
>
> Why is there a difference between DSA and RSA ?
> How could I specify my provider to perform DSA signature ?
>


--
http://r-bg.com