C'è un output di stato extra, ma va al flusso StdErr. Quindi va alla console (ad esempio la visualizzazione dello schermo) e NON scende nella pipe. L'output regolare fa parte del flusso "StdOut". Quel flusso va nella pipa. Questo vale anche per * nix e Windows.
Ecco un esempio.
Genera una chiave:
C:\>openssl ecparam -name secp256k1 -genkey -noout -out secp256k1-key.pem
Se non si reindirizza nulla, entrambi i flussi finiscono sullo schermo:
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
Se passi il flusso "1", che è StdOut, allora quello che ti rimane è lo stream "2", che è solo StdErr:
C:\>openssl ec -in secp256k1-key.pem -noout -text 1>NUL
read EC key
Puoi anche buttare via lo stream "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
Per quanto riguarda il "Perché?": non lo so. Penso che sia solo una delle molte stranezze delle utility della riga di comando di OpenSSL.