Hay salida de estado adicional pero va a la secuencia StdErr. Así que va a la consola (es decir, a la pantalla) y NO baja a la tubería. La salida regular es parte del flujo "StdOut". Esa corriente entra en la tubería. Esto también es válido para * nix y Windows.
Aquí hay un ejemplo.
Generar una clave:
C:\>openssl ecparam -name secp256k1 -genkey -noout -out secp256k1-key.pem
Si no redirecciona nada, entonces ambas secuencias terminan en la pantalla:
C:\>openssl ec -in secp256k1-key.pem -noout -text
read EC key
Private-Key: (256 bit)
priv:
00:d6:09:84:21:77:32:86:bb:5d:c9:da:30:ce:dc:
98:28:f1:f2:f2:2e:2a:9a:91:28:c3:88:b2:bb:80:
51:24:39
pub:
04:e3:4b:2c:96:44:08:18:9f:37:bb:b5:8e:44:52:
69:f4:4b:7f:a7:2a:61:9e:5a:39:1a:07:7a:d6:27:
e8:8f:83:36:fa:a6:72:e9:f5:7c:41:53:0c:b6:16:
ab:24:7a:0d:82:2c:b9:cc:2d:2b:08:38:83:e2:ac:
4e:d7:9a:09:91
ASN1 OID: secp256k1
Si tira la secuencia "1", que es StdOut, entonces lo que queda es la secuencia "2", que es simplemente StdErr:
C:\>openssl ec -in secp256k1-key.pem -noout -text 1>NUL
read EC key
También puedes tirar la secuencia "2":
C:\>openssl ec -in secp256k1-key.pem -noout -text 2>NUL
Private-Key: (256 bit)
priv:
00:d6:09:84:21:77:32:86:bb:5d:c9:da:30:ce:dc:
98:28:f1:f2:f2:2e:2a:9a:91:28:c3:88:b2:bb:80:
51:24:39
pub:
04:e3:4b:2c:96:44:08:18:9f:37:bb:b5:8e:44:52:
69:f4:4b:7f:a7:2a:61:9e:5a:39:1a:07:7a:d6:27:
e8:8f:83:36:fa:a6:72:e9:f5:7c:41:53:0c:b6:16:
ab:24:7a:0d:82:2c:b9:cc:2d:2b:08:38:83:e2:ac:
4e:d7:9a:09:91
ASN1 OID: secp256k1
En cuanto al "¿Por qué?": No lo sé. Creo que esa es solo una de las muchas peculiaridades de las utilidades de línea de comandos de OpenSSL.