问题描述:
我需要构建一个正则表达式/模式来找到一个可以是十进制或十六进制的值
背景资料:
我正在尝试构建一个 lua 函数,它将在 index.txt 中查找证书并返回序列号。最终,我需要能够获取完整的证书名称并运行以下命令:
openssl x509 -noout -in /etc/ssl/cert/myusername.6A756C65654063616E2E77746274732E6E6574.8F.crt -dates
我有构建文件名的逻辑,一直到序列号......在上面的例子中,它是 8F。
下面是 index.txt 文件的样子:
R 140320154649Z 150325040807Z 8E unknown /CN=test@gmail.com/emailAddress=test@gmail.com
V 160324050821Z 8F unknown /CN=test@yahoo.com/emailAddress=test@yahoo.com
V 160324051723Z 90 unknown /CN=test2@yahoo.com/emailAddress=test2@yahoo.com
序列号是第一个记录中的字段 4,其余记录中的字段 3。根据文档https://www.openssl.org/docs/apps/x509.html,序列号可以是十六进制或十进制。我还不太确定如何/谁确定它是十六进制还是十进制(我正在修改使用 openssl 的其他人的代码)......但我想知道是否有办法检查两者。我只会检查未撤销的记录的值......又名。第一列中没有“R”的那些。
谢谢。