Если вы хотите использовать только substr
и instr
, вы можете написать это так:
select substr(substr(name1, 1, instr(name1, '.') - 1), instr(name1, '_') + 1) n1,
substr(substr(name2, 1, instr(name2, '.') - 1), instr(name2, '_') + 1) n2
from (
select 'abc_primary.log' as name1, 'abc_secondary.log' as name2
from dual);
Результат:
N1 N2
------- ---------
primary secondary
Необходимо проверить с
lic.verify(ca.public_key)
кроме того, перед этим можно проверить выпускающего сертификата с
lic.issuer.to_s == ca.subject.to_s
Я использовал одну японскую страницу справки для получения списка доступных методов :)
lic.verify ()
проверять только ключ из сертификата, который подписал лицензию. Коммерческие корневые центры сертификации не подписывают сертификаты конечных пользователей напрямую. Обычно используется один или два промежуточных сертификата для подписи.
Итак, если CA -> подписывающий -> сертификат пользователя
, то
lic.verify (signer.public_key)
и signer.verify (CA.public_key)
будут вернет истину, но lic.verify (CA.public_key)
вернет ложь.