私有 SSH 密钥正则表达式失败

问题描述 投票:0回答:1

我正在开发一个正则表达式来验证 SSH 私钥。请参阅 regex101 链接 我写了8个测试用例,其中一个失败了,我无法弄清楚。单击“函数”菜单 >“单元测试(8)”子菜单

// regex

^-----BEGIN (?:RSA|OPENSSH|ED25519) PRIVATE KEY-----(\s|\S)*-----END (?:RSA|OPENSSH|ED25519) PRIVATE KEY-----\n$
// This is a valid SSH key without the type (RSA|OPENSSH|ED25519) which can be optional
// But this fails with above regex
-----BEGIN PRIVATE KEY-----
MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDdwAdrjscEeh1v
-----END PRIVATE KEY-----

有人可以帮我解决这个问题吗?谢谢

regex ssh-keys
1个回答
0
投票

你可以使用

^-----BEGIN(?: (?:RSA|OPENSSH|ED25519))? PRIVATE KEY-----\s*(\S[\s\S]*?)\s*-----END(?: (?:RSA|OPENSSH|ED25519))? PRIVATE KEY-----\n$

请参阅 正则表达式演示

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.