Нашел! То, что я описал, является нормальным ожидаемым поведением openssl. По умолчанию пользовательские расширения не копируются в сертификат.
Чтобы openssl скопировал запрошенные расширения в сертификат, необходимо указать copy_extensions = copy
для подписи. В обычных установках это означает, что эта строка должна быть добавлена в раздел default_CA
в openssl.cnf
.
В openssl.cnf
, который поставляется с (как минимум) Centos, строка уже включена в качестве комментария и содержит предупреждение «используйте с осторожностью». Запрашивающие могут злоупотребить этим, чтобы заставить вас выдать сертификат CA, если вы не будете осторожны.
Вы можете использовать /proc
в последней версии Linux:
ls -l /proc/[PID]/exe
#or
readlink /proc/[PID]/exe
Этот файл должен быть ссылкой на исполняемый файл, используемый этим PID.
На платформе со стандартным procfs
с поддержкой procfs -2 вы получаете результат через:
ls -l /proc/<pid>/path/a.out
Файл a.out является символической ссылкой на абсолютный путь к двоичному файлу.