Commit fe6a4cd
crypto: harden X509Certificate state
Construct X509Certificate instances directly on the existing native
X.509 wrapper and keep lazy cached values in private state. Use a
non-throwing native brand check while preserving the existing
structured-clone behavior.
Preserve derived-constructor prototype semantics without rereading
new.target.prototype.
Add coverage for receiver validation, hidden state, prototype edge
cases, subclassing, and structured cloning through workers and message
ports.
Replace the key-only instanceof lint rule with a module-aware crypto
class guard and extend it to X509Certificate. Resolve references by
lexical binding so shadowed constructor names remain valid.
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
PR-URL: #65518
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>1 parent 3541d5d commit fe6a4cd
14 files changed
Lines changed: 1056 additions & 480 deletions
File tree
- lib
- internal/crypto
- src
- crypto
- test/parallel
- tools/eslint-rules
- typings/internalBinding
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
445 | 445 | | |
446 | 446 | | |
447 | 447 | | |
| 448 | + | |
448 | 449 | | |
449 | | - | |
450 | 450 | | |
451 | 451 | | |
452 | 452 | | |
| |||
0 commit comments