31 lines
1.5 KiB
TypeScript
31 lines
1.5 KiB
TypeScript
import { expect } from 'chai'
|
|
import { describe, it } from 'mocha'
|
|
|
|
import { NodeCryptoProvider } from '../src/utils/crypto/node.js'
|
|
import { parsePublicKey } from '../src/utils/index.js'
|
|
|
|
const crypto = new NodeCryptoProvider()
|
|
|
|
describe('parsePublicKey', () => {
|
|
it('should parse telegram public keys', async () => {
|
|
expect(
|
|
await parsePublicKey(
|
|
crypto,
|
|
`-----BEGIN RSA PUBLIC KEY-----
|
|
MIIBCgKCAQEAruw2yP/BCcsJliRoW5eBVBVle9dtjJw+OYED160Wybum9SXtBBLX
|
|
riwt4rROd9csv0t0OHCaTmRqBcQ0J8fxhN6/cpR1GWgOZRUAiQxoMnlt0R93LCX/
|
|
j1dnVa/gVbCjdSxpbrfY2g2L4frzjJvdl84Kd9ORYjDEAyFnEA7dD556OptgLQQ2
|
|
e2iVNq8NZLYTzLp5YpOdO1doK+ttrltggTCy5SrKeLoCPPbOgGsdxJxyz5KKcZnS
|
|
Lj16yE5HvJQn0CNpRdENvRUXe6tBP78O39oJ8BTHp9oIjd6XWXAsp2CvK45Ol8wF
|
|
XGF710w9lwCGNbmNxNYhtIkdqfsEcwR5JwIDAQAB
|
|
-----END RSA PUBLIC KEY-----`,
|
|
),
|
|
).eql({
|
|
modulus:
|
|
'aeec36c8ffc109cb099624685b97815415657bd76d8c9c3e398103d7ad16c9bba6f525ed0412d7ae2c2de2b44e77d72cbf4b7438709a4e646a05c43427c7f184debf72947519680e651500890c6832796dd11f772c25ff8f576755afe055b0a3752c696eb7d8da0d8be1faf38c9bdd97ce0a77d3916230c4032167100edd0f9e7a3a9b602d04367b689536af0d64b613ccba7962939d3b57682beb6dae5b608130b2e52aca78ba023cf6ce806b1dc49c72cf928a7199d22e3d7ac84e47bc9427d0236945d10dbd15177bab413fbf0edfda09f014c7a7da088dde9759702ca760af2b8e4e97cc055c617bd74c3d97008635b98dc4d621b4891da9fb0473047927',
|
|
exponent: '010001',
|
|
fingerprint: '0bc35f3509f7b7a5',
|
|
old: false,
|
|
})
|
|
})
|
|
})
|