Wie überprüft man (mit BouncyCastle), ob ein X509-Zertifikat einer qualifizierten elektronischen Signatur entspricht?

Man liest die Extension aus:

X509Certificate[] chain = getYourCertificateChain();
		try
		{
			ASN1InputStream in 			= new ASN1InputStream(new ByteArrayInputStream(chain[0].getEncoded()));
			DERObject der 				= in.readObject();
			X509CertificateStructure x509Str 	= new X509CertificateStructure((ASN1Sequence) der);

			TBSCertificateStructure xTBSCert 	= x509Str.getTBSCertificate();
			ext 						= xTBSCert.getExtensions();

			X509Extension qcStats 		= ext.getExtension(X509Extensions.QCStatements);

			if(null != qcStats)
				//yes, its is!
				//.....

		} catch (CertificateEncodingException e)
		{
			logger.error(e.getMessage());
		}