Мне нужно было бы извлечь альтернативное имя субъекта из всей извлеченной информации CSR. Пример ниже:Как извлечь текст CSR между строкой с помощью Regex perl?
some text........
c9:00:00:00:00:00:00:00:98:a3:22:4e:68:f0:44:
8a:ef
Exponent: 65537 (0x10001)
Attributes:
Requested Extensions:
X509v3 Subject Alternative Name:
DNS:DNSName1234, IP Address: 192.168.0.0
Signature Algorithm: sha1WithRSAEncryption
2e:00:0d:08:ea:04:12:de:58:88:f0:50:72:d5:b3:03:9d:14:
e9:d6:f2:75:4e:e1:64:57:0e:a8:61:as:55:2e:75:e7:72:0b:
3d:db:a8:49:68:9f:11:b7:5a:a6:6k:49:25:ed:bc:e2:00:00:
some text...
я должен был бы извлечь DNS: DNSName1234, IP-адрес: 192.168.0.0 из образца текста выше. В основном то, что я имею в виду, чтобы получить x509v3 Subject Alternative Name: и Алгоритм подписи: sha1WithRSAEncryption как две строки и получить текст между
вот некоторые из моих сниппета:
my $SubjAltName = `openssl req -in /opt2/myfile/perllib/custom/OpenSSL/certreq.csr -text -noout`; #or die "Could not get SAN";
my $SANtxt = $SubjAltName =~ /X509v3 Subject Alternative Name:(.|\n)*? Signature Algorithm: sha1WithRSAEncryption/;
print $SANtxt;
Должен печатать DNS: DNSName1234, IP-адрес: 192.168.0.0. если их нет, то вывод пуст.
Цените вашу помощь, спасибо