Converter arquivo .CER para .PFX

Obas comunidade,

Estou desenvolvendo solução para consumir WebService da prefeitura SP e requer certificação. O nosso cliente comprou um certificado tipo smart card com leitor USB. Até onde vi, não existe um arquivo .PFX para eu usar dentro da estrutura para consumir a ws da prefeitura.

Gostaria de saber como posso converter arquivos .CER para .PFX, ou entender que extensões de arquivos são as que eu tenho aqui:

.P7B
.CRL
.P12

Valeu a ajuda!

Bispo

Não é possível converter um .cer (que contém apenas o certificado X.509, ou seja, contém apenas a chave pública) em um arquivo no formato PKCS#12 (que normalmente tem a extensão .PFX ou .P12, e que contém a chave pública e a privada.)
Para as outras extensões:
Um arquivo .P7B contém, em formato PKCS#7, normalmente uma lista de certificados X.509. Essa lista normalmente é usada para compor uma cadeia de certificados confiáveis (trusted certificate chain).
Um arquivo .CRL é uma “lista de revogação de certificados”, parecido com a “lista negra” que antigamente existia nos lugares que aceitavam cartões de crédito e não tinham a tal “maquininha” (se você é tão antigo quanto eu, deve se lembrar que havia uma máquina em que o caixa passava seu cartão para decalcar os números, usando papel-carbono, em um recibo). Hoje em dia, prefere-se usar o protocolo OCSP (Online Certificate Status Protocol) que fornece a mesma informação, só que atualizada.

Como ele está usando smartcard, não existe mesmo um PFX, e você precisa usar o provedor SunMSCAPI ou SunPKCS11 (ou também o Assembla, se não me engano) para poder fazer a assinatura.
A razão para não haver PFX é que absolutamente ninguém deve conhecer o valor da chave privada - mesmo você. O valor da chave privada fica “travado” dentro do smart card e é ele que tem de fazer os cálculos da assinatura digital. Você só solicita ao smartcard (usando a mesma API que você usa para o PFX) efetuar a assinatura.

Caro entanglement, valeu a resposta.

Diante desse fato, o que vc me sugere para que eu inicie essa jornada para consumir a WS da prefeitura-SP usando esse smartcard? Tipo, por onde pesquisar e o que pesquisar. Detalhe: O sistema gera e assina o XML no formato X509. Estou nessa dúvida, como faço para que o sistema identifique o certificado e permita eu consumir a WS.

Eu andei dando uma pesquisada e encontrei iaikPkcs11Wrapper1.2.17 que contém uma série de fontes, mas como nunca me deparei com esse tipo de desafio, estou totalmente perdido e não sei por onde começar.

Bispo.