Dei uma pesquisada e não vi nenhum tópico sobre o assunto, por isto achei interessante postar.
Ao instalar a versão 2010 do ReceitaNet Java, verifiquei que este inclui um provedor de criptografia JCE para MSCAPI, baseado no código-fonte original do OpenSign. O pacote inclui tanto a parte Java quanto o código nativo para Windows utilizado para acessar a MSCAPI., e dá os devidos créditos ao projeto, que é LGPL. Até aí tudo certo.
O que não entendi foi a razão de estarem incluindo este provedor, uma vez que o site da receita informa que necessita de JRE 6 para rodar, o qual já possui um provedor MSCAPI. Alguem teria uma sugestão de motivo técnico para tal inclusão ?
[quote=psevestre]
O que não entendi foi a razão de estarem incluindo este provedor, uma vez que o site da receita informa que necessita de JRE 6 para rodar, o qual já possui um provedor MSCAPI. Alguem teria uma sugestão de motivo técnico para tal inclusão ?[/quote]
O SunMSCAPI é muito primário e não atende aos requisitos de segurança necessários, pelo que imagino. Um dos problemas que você pode encontrar ao tentar efetuar uma assinatura digital com smartcard, por exemplo, é o fato de que usando apenas as funções básicas da CryptoAPI você acaba verificando que, apos a primeira vez que você digita a senha, a CryptoAPI não pede mais a senha para você, mesmo trocando o cartão ou saindo do seu programa, o que é um problema sério.