188d31c7bb167fd2516bc82a99386cf8e66f28b47Jorg Pleumann/*
288d31c7bb167fd2516bc82a99386cf8e66f28b47Jorg Pleumann * Copyright (C) 2009 The Android Open Source Project
388d31c7bb167fd2516bc82a99386cf8e66f28b47Jorg Pleumann *
488d31c7bb167fd2516bc82a99386cf8e66f28b47Jorg Pleumann * Licensed under the Apache License, Version 2.0 (the "License");
588d31c7bb167fd2516bc82a99386cf8e66f28b47Jorg Pleumann * you may not use this file except in compliance with the License.
688d31c7bb167fd2516bc82a99386cf8e66f28b47Jorg Pleumann * You may obtain a copy of the License at
788d31c7bb167fd2516bc82a99386cf8e66f28b47Jorg Pleumann *
888d31c7bb167fd2516bc82a99386cf8e66f28b47Jorg Pleumann *     http://www.apache.org/licenses/LICENSE-2.0
988d31c7bb167fd2516bc82a99386cf8e66f28b47Jorg Pleumann *
1088d31c7bb167fd2516bc82a99386cf8e66f28b47Jorg Pleumann * Unless required by applicable law or agreed to in writing, software
1188d31c7bb167fd2516bc82a99386cf8e66f28b47Jorg Pleumann * distributed under the License is distributed on an "AS IS" BASIS,
1288d31c7bb167fd2516bc82a99386cf8e66f28b47Jorg Pleumann * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1388d31c7bb167fd2516bc82a99386cf8e66f28b47Jorg Pleumann * See the License for the specific language governing permissions and
1488d31c7bb167fd2516bc82a99386cf8e66f28b47Jorg Pleumann * limitations under the License.
1588d31c7bb167fd2516bc82a99386cf8e66f28b47Jorg Pleumann */
16f979bbd1277c77ca945ad981e7864fb4e9f6ae05Jesse Wilsonpackage tests.security;
17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.CertPath;
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.CertPathParameters;
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.CertPathValidator;
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.CertPathValidatorResult;
22f979bbd1277c77ca945ad981e7864fb4e9f6ae05Jesse Wilsonimport junit.framework.TestCase;
23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic abstract class CertPathValidatorTest extends TestCase {
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    private final String algorithmName;
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public CertPathValidatorTest(String algorithmName) {
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        this.algorithmName = algorithmName;
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
33f979bbd1277c77ca945ad981e7864fb4e9f6ae05Jesse Wilson    public abstract CertPathParameters getParams();
34f979bbd1277c77ca945ad981e7864fb4e9f6ae05Jesse Wilson    public abstract CertPath getCertPath();
35f979bbd1277c77ca945ad981e7864fb4e9f6ae05Jesse Wilson    public abstract void validateResult(CertPathValidatorResult validatorResult);
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
3787eb4de6347e1be029cde77dd43ad9b1af901472Urs Grob    public void testCertPathValidator() throws Exception {
3887eb4de6347e1be029cde77dd43ad9b1af901472Urs Grob        CertPathValidator certPathValidator = CertPathValidator.getInstance(
3987eb4de6347e1be029cde77dd43ad9b1af901472Urs Grob                algorithmName);
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
4187eb4de6347e1be029cde77dd43ad9b1af901472Urs Grob        CertPathValidatorResult validatorResult = certPathValidator.validate(
4287eb4de6347e1be029cde77dd43ad9b1af901472Urs Grob                getCertPath(), getParams());
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        validateResult(validatorResult);
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
49