Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * See the NOTICE file distributed with this work for additional
  * information regarding copyright ownership.
  *
  * This is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as
  * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 */
package org.xwiki.crypto.signer.internal.factory;
Default signer factory to be use for decoding existing signature algorithm identifier.

Version:
$Id: e19a9fc4c70da6b7076604f769a05b3011c20187 $
Since:
5.4RC1
public class DefaultSignerFactory extends AbstractSignerFactory implements BcSignerFactory
    @Inject
    private ComponentManager manager;
    @Override
    public org.xwiki.crypto.signer.Signer getInstance(boolean forSigningCipherParameters parameters)
    {
        throw new UnsupportedOperationException("This signer does not support to be created from cipher parameters");
    }
    @Override
    public Signer getInstance(boolean forSigningCipherParameters parametersbyte[] encoded)
    {
        return getInstance(forSigningparameters, AlgorithmIdentifier.getInstance(encoded));
    }
    @Override
    public Signer getInstance(boolean forSigningCipherParameters parametersAlgorithmIdentifier algId)
    {
        SignerFactory factory = getFactory(algId.getAlgorithm().getId());
        if (factory instanceof BcSignerFactory) {
            return ((BcSignerFactoryfactory).getInstance(forSigningparametersalgId);
        }
        try {
            return factory.getInstance(forSigningparametersalgId.getEncoded());
        } catch (IOException e) {
            // Unlikely
            throw new IllegalArgumentException("Unable to encode algorithm identifier.");
        }
    }
    protected SignerFactory getFactory(String hint)
    {
        try {
            return .getInstance(SignerFactory.classhint);
        } catch (ComponentLookupException e) {
            throw new UnsupportedOperationException("Signing algorithm not found."e);
        }
    }
New to GrepCode? Check out our FAQ X