/* |
|
* Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. |
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
|
* |
|
* This code is free software; you can redistribute it and/or modify it |
|
* under the terms of the GNU General Public License version 2 only, as |
|
* published by the Free Software Foundation. Oracle designates this |
|
* particular file as subject to the "Classpath" exception as provided |
|
* by Oracle in the LICENSE file that accompanied this code. |
|
* |
|
* This code 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 General Public License |
|
* version 2 for more details (a copy is included in the LICENSE file that |
|
* accompanied this code). |
|
* |
|
* You should have received a copy of the GNU General Public License version |
|
* 2 along with this work; if not, write to the Free Software Foundation, |
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
|
* |
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
|
* or visit www.oracle.com if you need additional information or have any |
|
* questions. |
|
*/ |
|
package sun.security.provider.certpath; |
|
import java.security.InvalidAlgorithmParameterException; |
|
import java.security.Timestamp; |
|
import java.security.cert.CertSelector; |
|
import java.security.cert.CertStore; |
|
import java.security.cert.PKIXBuilderParameters; |
|
import java.security.cert.PKIXCertPathChecker; |
|
import java.security.cert.TrustAnchor; |
|
import java.util.Date; |
|
import java.util.List; |
|
import java.util.Set; |
|
/** |
|
* This class is a wrapper for PKIXBuilderParameters so that a Timestamp object |
|
* and a string for the variant type, can be passed when doing certpath |
|
* checking. |
|
*/ |
|
public class PKIXExtendedParameters extends PKIXBuilderParameters { |
|
private final PKIXBuilderParameters p; |
|
private Timestamp jarTimestamp; |
|
private final String variant; |
|
public PKIXExtendedParameters(PKIXBuilderParameters params, |
|
Timestamp timestamp, String variant) |
|
throws InvalidAlgorithmParameterException { |
|
super(params.getTrustAnchors(), null); |
|
p = params; |
|
jarTimestamp = timestamp; |
|
this.variant = variant; |
|
} |
|
public Timestamp getTimestamp() { |
|
return jarTimestamp; |
|
} |
|
public void setTimestamp(Timestamp t) { |
|
jarTimestamp = t; |
|
} |
|
public String getVariant() { |
|
return variant; |
|
} |
|
@Override |
|
public void setDate(Date d) { |
|
p.setDate(d); |
|
} |
|
@Override |
|
public void addCertPathChecker(PKIXCertPathChecker c) { |
|
p.addCertPathChecker(c); |
|
} |
|
@Override |
|
public void setMaxPathLength(int maxPathLength) { |
|
p.setMaxPathLength(maxPathLength); |
|
} |
|
@Override |
|
public int getMaxPathLength() { |
|
return p.getMaxPathLength(); |
|
} |
|
@Override |
|
public String toString() { |
|
return p.toString(); |
|
} |
|
@Override |
|
public Set<TrustAnchor> getTrustAnchors() { |
|
return p.getTrustAnchors(); |
|
} |
|
@Override |
|
public void setTrustAnchors(Set<TrustAnchor> trustAnchors) |
|
throws InvalidAlgorithmParameterException { |
|
// To avoid problems with PKIXBuilderParameter's constructors |
|
if (p == null) { |
|
return; |
|
} |
|
p.setTrustAnchors(trustAnchors); |
|
} |
|
@Override |
|
public Set<String> getInitialPolicies() { |
|
return p.getInitialPolicies(); |
|
} |
|
@Override |
|
public void setInitialPolicies(Set<String> initialPolicies) { |
|
p.setInitialPolicies(initialPolicies); |
|
} |
|
@Override |
|
public void setCertStores(List<CertStore> stores) { |
|
p.setCertStores(stores); |
|
} |
|
@Override |
|
public void addCertStore(CertStore store) { |
|
p.addCertStore(store); |
|
} |
|
@Override |
|
public List<CertStore> getCertStores() { |
|
return p.getCertStores(); |
|
} |
|
@Override |
|
public void setRevocationEnabled(boolean val) { |
|
p.setRevocationEnabled(val); |
|
} |
|
@Override |
|
public boolean isRevocationEnabled() { |
|
return p.isRevocationEnabled(); |
|
} |
|
@Override |
|
public void setExplicitPolicyRequired(boolean val) { |
|
p.setExplicitPolicyRequired(val); |
|
} |
|
@Override |
|
public boolean isExplicitPolicyRequired() { |
|
return p.isExplicitPolicyRequired(); |
|
} |
|
@Override |
|
public void setPolicyMappingInhibited(boolean val) { |
|
p.setPolicyMappingInhibited(val); |
|
} |
|
@Override |
|
public boolean isPolicyMappingInhibited() { |
|
return p.isPolicyMappingInhibited(); |
|
} |
|
@Override |
|
public void setAnyPolicyInhibited(boolean val) { |
|
p.setAnyPolicyInhibited(val); |
|
} |
|
@Override |
|
public boolean isAnyPolicyInhibited() { |
|
return p.isAnyPolicyInhibited(); |
|
} |
|
@Override |
|
public void setPolicyQualifiersRejected(boolean qualifiersRejected) { |
|
p.setPolicyQualifiersRejected(qualifiersRejected); |
|
} |
|
@Override |
|
public boolean getPolicyQualifiersRejected() { |
|
return p.getPolicyQualifiersRejected(); |
|
} |
|
@Override |
|
public Date getDate() { |
|
return p.getDate(); |
|
} |
|
@Override |
|
public void setCertPathCheckers(List<PKIXCertPathChecker> checkers) { |
|
p.setCertPathCheckers(checkers); |
|
} |
|
@Override |
|
public List<PKIXCertPathChecker> getCertPathCheckers() { |
|
return p.getCertPathCheckers(); |
|
} |
|
@Override |
|
public String getSigProvider() { |
|
return p.getSigProvider(); |
|
} |
|
@Override |
|
public void setSigProvider(String sigProvider) { |
|
p.setSigProvider(sigProvider); |
|
} |
|
@Override |
|
public CertSelector getTargetCertConstraints() { |
|
return p.getTargetCertConstraints(); |
|
} |
|
@Override |
|
public void setTargetCertConstraints(CertSelector selector) { |
|
// To avoid problems with PKIXBuilderParameter's constructors |
|
if (p == null) { |
|
return; |
|
} |
|
p.setTargetCertConstraints(selector); |
|
} |
|
} |