1 /*
2  * Copyright (c) 2002, 2009, Oracle and/or its affiliates. All rights reserved.
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * This code is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License version 2 only, as
7  * published by the Free Software Foundation.  Oracle designates this
8  * particular file as subject to the "Classpath" exception as provided
9  * by Oracle in the LICENSE file that accompanied this code.
10  *
11  * This code is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14  * version 2 for more details (a copy is included in the LICENSE file that
15  * accompanied this code).
16  *
17  * You should have received a copy of the GNU General Public License version
18  * 2 along with this work; if not, write to the Free Software Foundation,
19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20  *
21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22  * or visit www.oracle.com if you need additional information or have any
23  * questions.
24  */

25
26 package java.security.cert;
27
28 import java.util.*;
29
30 import sun.security.provider.certpath.CertPathHelper;
31
32 import sun.security.x509.GeneralNameInterface;
33
34 /**
35  * Helper class that allows the Sun CertPath provider to access
36  * implementation dependent APIs in CertPath framework.
37  *
38  * @author Andreas Sterbenz
39  */

40 class CertPathHelperImpl extends CertPathHelper {
41
42     private CertPathHelperImpl() {
43         // empty
44     }
45
46     /**
47      * Initialize the helper framework. This method must be called from
48      * the static initializer of each class that is the target of one of
49      * the methods in this class. This ensures that the helper is initialized
50      * prior to a tunneled call from the Sun provider.
51      */

52     static synchronized void initialize() {
53         if (CertPathHelper.instance == null) {
54             CertPathHelper.instance = new CertPathHelperImpl();
55         }
56     }
57
58     protected void implSetPathToNames(X509CertSelector sel,
59             Set<GeneralNameInterface> names) {
60         sel.setPathToNamesInternal(names);
61     }
62
63     protected void implSetDateAndTime(X509CRLSelector sel, Date date, long skew) {
64         sel.setDateAndTime(date, skew);
65     }
66 }
67