227 lines
5.9 KiB
Java
227 lines
5.9 KiB
Java
/*
|
|
* 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);
|
|
}
|
|
|
|
}
|