Hola Francisco:
Antes que nada agradezco tu aporte me a aclarado algunas dudas.
Respecto al archivo si voy a la página de validación del SAT:
https://www.consulta.sat.gob.mx/SICOFI_WEB/ModuloECFD_Plus/ValidadorComprobantes/Validador.htmlCon el archivo xml y el archivo CER me dice que el sello es valido. El sello que tiene este archivo xml es el siguiente:
UlUSwGNEicfigV6i4RhTy0eb2RYWFYyFatJFcM/u5Wlkb5XRxXiCizTGw5Yxz9oZNk8msAgO4C5Gevjh+S2TJPZueYhaQeZlo6k0rE3CQexkOGVRpHkvAoAgOM5kGKzYe24DKZbTgjNL+ai+tbhEHmRAFcpv2rDpehbL3w6BnYU=
Ahora al intentar generar este sello con el archivo KEY y el MD5.txt de tus archivos muestra me genera el siguiente sello:
GrO5fVxXDbmHbjrELI1j2OsVZqSLt4GLcESB8r4lprASJ/jrNWzsL4HyUMFMQQMUdDIBUuqqlam0+yZLstMC3n0G8Cl1clepXcjUJhzPnlKdjRGoCE5KiSKBUiEeXlOjwVdnhnIKdNnHtZUbfQhzRrsrN40UzAH1lrnqLLdbFjI=
El comando que uso:
openssl dgst -sign archivo.pem md5.txt | openssl enc -base64 -a -A > sello.txt
Lo curioso es que este sello lo generaba en Linux al tratar de hacerlo en Windows(XP/7) con los archivos que proporcionas me daba otro totalmente diferente:
2XZhPGVaS4h0xx5AGBOrTgpaGmnBJ16+jkDgD1vD+TvOKxSdJNTHATtr4F38Lr0GRJA5KbJq5UEiSRXSKeUJaIOG8BLTQmDNsVbsEqD5bk97LABVIaGZor8i8HaF1qdV3ymV1Dz15rGeWWcuUyQQLI1tuOpi6se8EBRLMYVWNz4=
Después caí en la cuenta de que estaba usando la versión 1.0.0a del openssl en Linux y tu tienes la 0.9.8 para Windows probe la 1.0.0a para Windows y ahora si obtengo los mismos sellos tanto en Linux como en Windows solo que no es el mismo de tu archivos xml de muestra.
¿Tendrás alguna idea de por que?
Agradezco cualquier comentario.
Un abrazo