Comments (6)
I only took a quick look, but are you talking about PKCS#1.5 padding support? Because Forge already has this:
https://github.com/digitalbazaar/forge/blob/master/js/rsa.js#L236
I think that's the same padding that Tom Wu's rsa.js file appears to be doing.
from forge.
I'm talking about generating those public keys that have an RSA PUBLIC KEY
header instead of just PUBLIC KEY
.
http://www.cryptosys.net/pki/rsakeyformats.html says that the format I want is PKCS#1 RSAPublicKey
but the format that's currently implemented seems to be X.509 SubjectPublicKeyInfo
.
I once just swapped those comments but that totally broke things :D
from forge.
The format I'm after seems to be
RSAPublicKey ::= SEQUENCE {
modulus INTEGER, -- n
publicExponent INTEGER -- e
}
whereas the currently implemented format seems to be
SubjectPublicKeyInfo ::= SEQUENCE {
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING }
...I can't really figure out how those 2 formats differ exactly
from forge.
A SubjectPublicKeyInfo is a wrapper for an RSAPublicKey. It supports more than just RSA and is the most common format for transporting public keys. Constructing an RSAPublicKey is a prerequisite to storing an RSA key in a SubjectPublicKeyInfo so this was already available in Forge, however, an API for generating just the RSAPublicKey was not exposed because it's not used nearly as often as a SubjectPublicKeyInfo. I quickly added a couple of methods to let you use just the raw RSAPublicKey:
forge.pki.publicKeyToRSAPublicKey
forge.pki.publicKeyToRSAPublicKeyPem
Hopefully this is what you need. If so, please feel free to close the issue.
from forge.
This does exactly what I want, super big thank you!
from forge.
@juliangruber, great, sure!
from forge.
Related Issues (20)
- Add support for SubjectKeyIdentifier in CMS message (PKCS#7) HOT 1
- Add support for RSASSA-PSS as scheme to sign CMS message (PKCS#7)
- Add support for pkcs encryption with secret key for recipient
- node-forge AES-GCM fails to decrypt from .NET core 5.0 HOT 1
- forge/prime.worker.js 404 (Not Found)
- Bug in signcms code
- how can add AIA data to cert?
- Cannot read X.509 certificate. ASN.1 object is not an X509v3 Certificate
- PKCS12 File Password with ISO-8859-9 Encoding
- Can't create a CSR with extKeyUsage extension HOT 1
- Invalid RSAES-OAEP padding WHY
- Inconsistent Key Generation using seed value HOT 6
- License Clarification
- TypeError: i.randomBytes is not a function
- When creating self-signed certificate how can I add subjectAltName HOT 1
- [jsbn] Node 21 introduced `navigator` global object which has changed jsbn behaviour
- node:crypto to node-forge HMAC convertion HOT 1
- Should not assume TLS certificate chain is provided in order
- Randomly thrown "Invalid RSAES-OAEP padding." error with a valid key HOT 1
- Verifying PKCS#7 Signatures
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from forge.