1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/*
2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  Licensed to the Apache Software Foundation (ASF) under one or more
3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  contributor license agreements.  See the NOTICE file distributed with
4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  this work for additional information regarding copyright ownership.
5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  The ASF licenses this file to You under the Apache License, Version 2.0
6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  (the "License"); you may not use this file except in compliance with
7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  the License.  You may obtain a copy of the License at
8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *     http://www.apache.org/licenses/LICENSE-2.0
10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  Unless required by applicable law or agreed to in writing, software
12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  distributed under the License is distributed on an "AS IS" BASIS,
13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  See the License for the specific language governing permissions and
15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  limitations under the License.
16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/**
188d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath * @author Boris V. Kuznetsov
198d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath */
20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.security.tests.support;
22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.InvalidKeyException;
24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.InvalidParameterException;
25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.PrivateKey;
26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.PublicKey;
27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.Signature;
28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.SignatureException;
29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/**
31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Tests implementation of Signature
32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class MySignature1 extends Signature {
34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
358d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public boolean runEngineInitVerify = false;
368d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public boolean runEngineInitSign = false;
378d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public boolean runEngineUpdate1 = false;
388d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public boolean runEngineUpdate2 = false;
398d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public boolean runEngineSign = false;
408d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public boolean runEngineVerify = false;
418d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public boolean runEngineSetParameter = false;
428d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public boolean runEngineGetParameter = false;
438d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
448d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    /**
458d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath     *
468d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath     *
478d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath     */
488d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public MySignature1() {
498d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        super(null);
508d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
518d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
528d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    /**
538d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath     * @param algorithm
548d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath     */
558d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public MySignature1(String algorithm) {
568d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        super(algorithm);
578d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
588d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
598d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    protected void engineInitVerify(PublicKey publicKey)
608d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            throws InvalidKeyException {
618d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        runEngineInitVerify = true;
628d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
638d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
648d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    protected void engineInitSign(PrivateKey privateKey)
658d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            throws InvalidKeyException {
668d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        runEngineInitSign = true;
678d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
698d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    protected void engineUpdate(byte b) throws SignatureException {
708d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        runEngineUpdate1 = true;
718d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
738d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    protected void engineUpdate(byte[] b, int off, int len)
748d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            throws SignatureException {
758d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        runEngineUpdate2 = true;
768d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
788d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    protected byte[] engineSign() throws SignatureException {
798d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        runEngineSign = true;
808d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        return null;
818d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
838d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    protected boolean engineVerify(byte[] sigBytes) throws SignatureException {
848d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        runEngineVerify = true;
858d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        return false;
868d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
888d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    protected void engineSetParameter(String param, Object value)
898d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            throws InvalidParameterException {
908d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        runEngineSetParameter = true;
918d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
938d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    protected Object engineGetParameter(String param)
948d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            throws InvalidParameterException {
958d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        runEngineGetParameter = true;
968d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        return null;
978d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
998d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public int getState() {
1008d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        return state;
1018d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes}
103