org.bouncycastle.asn1.x509.qualified.QCStatement Java Examples
The following examples show how to use
org.bouncycastle.asn1.x509.qualified.QCStatement.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: DSSASN1Utils.java From dss with GNU Lesser General Public License v2.1 | 6 votes |
/** * Get the list of all QCStatement Ids that are present in the certificate. * (As per ETSI EN 319 412-5 V2.1.1) * * @param certToken * the certificate * @return the list of QC Statements oids */ public static List<String> getQCStatementsIdList(final CertificateToken certToken) { final List<String> extensionIdList = new ArrayList<>(); final byte[] qcStatement = certToken.getCertificate().getExtensionValue(Extension.qCStatements.getId()); if (Utils.isArrayNotEmpty(qcStatement)) { try { final ASN1Sequence seq = getAsn1SequenceFromDerOctetString(qcStatement); // Sequence of QCStatement for (int ii = 0; ii < seq.size(); ii++) { final QCStatement statement = QCStatement.getInstance(seq.getObjectAt(ii)); extensionIdList.add(statement.getStatementId().getId()); } } catch (Exception e) { LOG.warn("Unable to parse the qCStatements extension '{}' : {}", Utils.toBase64(qcStatement), e.getMessage(), e); } } return extensionIdList; }
Example #2
Source File: DSSASN1Utils.java From dss with GNU Lesser General Public License v2.1 | 6 votes |
public static List<String> getQCLegislations(CertificateToken certToken) { final List<String> result = new ArrayList<>(); final byte[] qcStatement = certToken.getCertificate().getExtensionValue(Extension.qCStatements.getId()); if (Utils.isArrayNotEmpty(qcStatement)) { try { final ASN1Sequence seq = getAsn1SequenceFromDerOctetString(qcStatement); // Sequence of QCStatement for (int ii = 0; ii < seq.size(); ii++) { final QCStatement statement = QCStatement.getInstance(seq.getObjectAt(ii)); if (QC_LEGISLATION_OID.equals(statement.getStatementId().getId())) { ASN1Sequence sequenceLegislation = ASN1Sequence.getInstance(statement.getStatementInfo()); for (int jj = 0; jj < sequenceLegislation.size(); jj++) { result.add(getString(sequenceLegislation.getObjectAt(jj))); } } } } catch (Exception e) { LOG.warn("Unable to parse the qCStatements extension '{}' : {}", Utils.toBase64(qcStatement), e.getMessage(), e); } } return result; }
Example #3
Source File: DSSASN1Utils.java From dss with GNU Lesser General Public License v2.1 | 6 votes |
public static SemanticsIdentifier getSemanticsIdentifier(CertificateToken certToken) { final byte[] qcStatement = certToken.getCertificate().getExtensionValue(Extension.qCStatements.getId()); if (Utils.isArrayNotEmpty(qcStatement)) { try { final ASN1Sequence seq = getAsn1SequenceFromDerOctetString(qcStatement); for (int i = 0; i < seq.size(); i++) { final QCStatement statement = QCStatement.getInstance(seq.getObjectAt(i)); if (RFC3739QCObjectIdentifiers.id_qcs_pkixQCSyntax_v2.equals(statement.getStatementId())) { SemanticsInformation semanticsInfo = SemanticsInformation.getInstance(statement.getStatementInfo()); if (semanticsInfo != null && semanticsInfo.getSemanticsIdentifier() != null) { return SemanticsIdentifier.fromOid(semanticsInfo.getSemanticsIdentifier().getId()); } } } } catch (Exception e) { LOG.warn("Unable to extract the SemanticsIdentifier", e); } } return null; }
Example #4
Source File: CertificateService.java From XS2A-Sandbox with Apache License 2.0 | 5 votes |
/** * Create a new base64 encoded X509 certificate for authentication at the XS2A API with the * corresponding private key and meta data. * * @param certificateRequest data needed for certificate generation * @return CertificateResponse base64 encoded cert + private key */ public CertificateResponse newCertificate(CertificateRequest certificateRequest) { SubjectData subjectData = generateSubjectData(certificateRequest); QCStatement qcStatement = generateQcStatement(certificateRequest); X509Certificate cert = generateCertificate(subjectData, qcStatement); return CertificateResponse.builder() .privateKey(exportToString(subjectData.getPrivateKey())) .encodedCert(exportToString(cert)) .build(); }
Example #5
Source File: CertificateService.java From XS2A-Sandbox with Apache License 2.0 | 5 votes |
private QCStatement generateQcStatement(CertificateRequest certificateRequest) { NcaName ncaName = getNcaNameFromIssuerData(); NcaId ncaId = getNcaIdFromIssuerData(); ASN1Encodable qcStatementInfo = createQcInfo( RolesOfPsp.fromCertificateRequest(certificateRequest), ncaName, ncaId ); return new QCStatement(ETSI_QC_STATEMENT, qcStatementInfo); }
Example #6
Source File: DSSASN1Utils.java From dss with GNU Lesser General Public License v2.1 | 5 votes |
/** * Get the list of all QCType Ids that are present in the certificate. * (As per ETSI EN 319 412-5 V2.1.1) * * @param certToken * the certificate * @return the list of QCTypes oids */ public static List<String> getQCTypesIdList(final CertificateToken certToken) { final List<String> qcTypesIdList = new ArrayList<>(); final byte[] qcStatement = certToken.getCertificate().getExtensionValue(Extension.qCStatements.getId()); if (Utils.isArrayNotEmpty(qcStatement)) { try { final ASN1Sequence seq = getAsn1SequenceFromDerOctetString(qcStatement); // Sequence of QCStatement for (int ii = 0; ii < seq.size(); ii++) { final QCStatement statement = QCStatement.getInstance(seq.getObjectAt(ii)); if (QC_TYPE_STATEMENT_OID.equals(statement.getStatementId().getId())) { final ASN1Encodable qcTypeInfo1 = statement.getStatementInfo(); if (qcTypeInfo1 instanceof ASN1Sequence) { final ASN1Sequence qcTypeInfo = (ASN1Sequence) qcTypeInfo1; for (int jj = 0; jj < qcTypeInfo.size(); jj++) { final ASN1Encodable e1 = qcTypeInfo.getObjectAt(jj); if (e1 instanceof ASN1ObjectIdentifier) { final ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier) e1; qcTypesIdList.add(oid.getId()); } else { LOG.warn("ASN1Sequence in QcTypes does not contain ASN1ObjectIdentifer, but {}", e1.getClass().getName()); } } } else { LOG.warn("QcTypes not an ASN1Sequence, but {}", qcTypeInfo1.getClass().getName()); } } } } catch (Exception e) { LOG.warn("Unable to parse the qCStatements extension '{}' : {}", Utils.toBase64(qcStatement), e.getMessage(), e); } } return qcTypesIdList; }
Example #7
Source File: DSSASN1Utils.java From dss with GNU Lesser General Public License v2.1 | 5 votes |
/** * This method extract the PSD2 QcStatement informations for a given certificate * * @param certToken the certificate * @return an instance of {@code PSD2QcType} or null */ public static PSD2QcType getPSD2QcStatement(CertificateToken certToken) { PSD2QcType result = null; final byte[] qcStatement = certToken.getCertificate().getExtensionValue(Extension.qCStatements.getId()); if (Utils.isArrayNotEmpty(qcStatement)) { try { final ASN1Sequence seq = getAsn1SequenceFromDerOctetString(qcStatement); for (int i = 0; i < seq.size(); i++) { final QCStatement statement = QCStatement.getInstance(seq.getObjectAt(i)); if (OID.psd2_qcStatement.equals(statement.getStatementId())) { result = new PSD2QcType(); ASN1Sequence psd2Seq = ASN1Sequence.getInstance(statement.getStatementInfo()); ASN1Sequence rolesSeq = ASN1Sequence.getInstance(psd2Seq.getObjectAt(0)); List<RoleOfPSP> rolesOfPSP = new ArrayList<>(); for (int ii = 0; ii < rolesSeq.size(); ii++) { ASN1Sequence oneRoleSeq = ASN1Sequence.getInstance(rolesSeq.getObjectAt(ii)); RoleOfPSP roleOfPSP = new RoleOfPSP(); ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier) oneRoleSeq.getObjectAt(0); roleOfPSP.setPspOid(RoleOfPspOid.fromOid(oid.getId())); roleOfPSP.setPspName(getString(oneRoleSeq.getObjectAt(1))); rolesOfPSP.add(roleOfPSP); } result.setRolesOfPSP(rolesOfPSP); result.setNcaName(getString(psd2Seq.getObjectAt(1))); result.setNcaId(getString(psd2Seq.getObjectAt(2))); } } } catch (Exception e) { LOG.warn("Unable to read QCStatement", e); } } return result; }
Example #8
Source File: QcStatementOption.java From xipki with Apache License 2.0 | 4 votes |
public QcStatementOption(QCStatement statement) { this.statement = Args.notNull(statement, "statement"); this.statementId = null; this.monetaryValueOption = null; }
Example #9
Source File: QcStatementOption.java From xipki with Apache License 2.0 | 4 votes |
public QCStatement getStatement() { return statement; }