Skip to content

Commit e2e417e

Browse files
authored
Merge pull request #641 from njg7194/add-security-policy
docs: add SECURITY.md with security policy and best practices
2 parents 77f1776 + 257b818 commit e2e417e

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

SECURITY.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Security Policy
2+
3+
## Reporting Security Vulnerabilities
4+
5+
The jsrsasign library is a cryptography library used in many production applications. We take security very seriously.
6+
7+
### How to Report
8+
9+
**Please DO NOT report security vulnerabilities through public GitHub issues.**
10+
11+
Instead, please report them via:
12+
1. GitHub's private vulnerability reporting feature
13+
2. Direct email to the maintainer
14+
15+
### What to Include
16+
17+
- Type of vulnerability (e.g., cryptographic weakness, injection, etc.)
18+
- Full paths of source file(s) related to the issue
19+
- Step-by-step instructions to reproduce
20+
- Proof-of-concept or exploit code (if possible)
21+
- Impact assessment
22+
23+
### Response Process
24+
25+
1. **Acknowledgment**: Within 48 hours
26+
2. **Initial Assessment**: Within 7 days
27+
3. **Fix Development**: Timeline depends on severity
28+
4. **Disclosure**: Coordinated with reporter
29+
30+
## Security Best Practices
31+
32+
When using jsrsasign:
33+
34+
### Key Management
35+
- Never hardcode private keys in source code
36+
- Use secure key storage mechanisms
37+
- Rotate keys periodically
38+
39+
### Algorithm Selection
40+
- Use RSA keys of at least 2048 bits
41+
- Prefer RSASSA-PSS over PKCS#1 v1.5 for new implementations
42+
- Use ECDSA with P-256 or higher curves
43+
44+
### Input Validation
45+
- Always validate certificate chains
46+
- Check certificate validity periods
47+
- Verify signatures before trusting data
48+
49+
### Dependencies
50+
- Keep jsrsasign updated to the latest version
51+
- Monitor security advisories
52+
53+
## Known Security Considerations
54+
55+
- This library is designed for client-side JavaScript; for server-side crypto, consider native solutions
56+
- Random number generation relies on the browser's crypto API
57+
- Performance-sensitive operations should use Web Crypto API when available
58+
59+
## Acknowledgments
60+
61+
We thank all security researchers who responsibly disclose vulnerabilities.

0 commit comments

Comments
 (0)