Я отвечу на свои вопросы, но не буду удалять их, если у кого-то возникнут такие же проблемы:
return new JcaX509CertificateConverter().setProvider( "BC" )
.getCertificate( certificateHolder );
А для атрибутов:
return new X509V2AttributeCertificate( attributeCertificateHolder.getEncoded() );
Не очень хорошо, так как это кодирование и декодирование, но это работает.