Требуется перехватить секретные ключи, отправленные за пределы сети.Общий формат для закрытого ключа выглядит следующим образом.
Starts and ends with 5 dashes.
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
Вот регулярное выражение, которое мы разработали, и оно работает нормально.
-----BEGIN\sPRIVATE\sKEY-----|-----END\sPRIVATE\sKEY-----
Теперь существует дополнительное требование для обнаруженияи исключить некоторые примеры.
Only detect
-----BEGIN PRIVATE KEY-----
"Any one word other than ENCRYPTED"
-----END PRIVATE KEY-----
Я хочу создать регулярное выражение для вышеуказанного требования, оно должно проверить начало файла -----BEGIN PRIVATE KEY-----
и конец файла -----END PRIVATE KEY-----
, а также содержимое, имеет ли оно encrypted
слово
Пример:
/^(-----BEGIN\sRSA\sPRIVATE\sKEY-----).*((?!ENCRYPTED).)*.(-----END\sRSA\sPRIVATE\sKEY-----)$
^(?=^-----BEGIN\sRSA\sPRIVATE\sKEY-----)(?=.*-----END\sRSA\sPRIVATE\sKEY-----$)(?=^(?:!ENCRYPTED).)*$.*$
Приведенный выше пример не работает, но мне нужно создать такой, как этот ... Пожалуйста, помогите.
пример ключа для справки
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,C7F9E43D16E5CF55
C7F9E43D16E5CF55
y4Qk6+2MQuxjZbglAwNEEpNF9hMsr3YNltnP+T3x5oMlw2JaKGYePadDWEAYwXd4
Fk3zYR35Tsz1isLZQzvZd6O5THlx5eyflZBbYGE5fS40VucgiX37tM5D2OsjH3WG
HZBx5Mh4PkGSyoOl7Q5o1SHkeNl4Xkipo9AWRzPzLg4w9HTlqKRltxEKaDbnLaUH
3yGX1rVKkppKUi88vwg6MJ7ATwy8VNhialMmBO4pQVLLBZhH3KU22r4hpCKKq0GR
nZVWA3bJm7hMXALMS8oj+Ljup+ysG3qrvrNSS3H3t2OTrmNsG749M+LDFy7qjZTw
-----END RSA PRIVATE KEY-----