小编Dae*_*ast的帖子

如何在 Node.js 中获取 RSA 公钥的模数和指数

我正在创建一个ACME客户端,我需要找到我的 RSA 公钥的模数和指数,我使用以下代码生成该密钥:

crypto.generateKeyPairSync('rsa', {
    modulusLength: 4096,
    publicKeyEncoding: {
        type: 'spki',
        format: 'pem'
    },
    privateKeyEncoding: {
        type: 'pkcs8',
        format: 'pem'
    }
});
Run Code Online (Sandbox Code Playgroud)

我需要模数和指数,以便我可以在JWSJWK部分中使用它们:

alg: 'RS256',
jwk: {
    kty: 'RSA',
    e: '...',
    n: '...'
},
nonce,
url: directory.newAccount
Run Code Online (Sandbox Code Playgroud)

我已成功使用以下行将公钥从base64解码为十六进制,但我不确定下一步该怎么做:

Buffer.from(publicKey, 'base64').toString('hex');
Run Code Online (Sandbox Code Playgroud)

如何在 Node.js 中找到 RSA 公钥的模数和指数?



编辑1

我发现 Node.js 默认使用公共指数 65537:Node.js 文档

javascript rsa node.js public-key

8
推荐指数
1
解决办法
7295
查看次数

Android Studio 4.1 Beta 启动失败?

我之前下载了 Android Studio 4.1 Beta 5 并且运行良好,但是当我今天启动它时,显示此错误:

Internal error. Please refer to https://code.google.com/p/android/issues

java.util.concurrent.CompletionException: java.lang.AssertionError: Attribute 
id='AUTO_DETECTION_CACHE_ATTRIBUTE' is not unique
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273)
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280)
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1643)
at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:222)
at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:29)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:201)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:193)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.AssertionError: Attribute id='AUTO_DETECTION_CACHE_ATTRIBUTE' is not unique
at com.intellij.openapi.vfs.newvfs.FileAttribute.<init>(FileAttribute.java:34)
at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.<init>(FileTypeManagerImpl.java:159)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at.....

-----
JRE 1.8.0_242-release-1644-b01 amd64 by JetBrains s.r.o
C:\Program Files\Android\Android Studio 4.1 Beta\jre\jre
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能解决问题?

android android-studio android-studio-4.1

6
推荐指数
0
解决办法
334
查看次数

防止 TypeScript 编译器退出批处理脚本

我有一个名为run.bat的文件,它应该编译 TypeScript 文件,然后在 Node.js 中运行输出的 JavaScript 文件:

tsc
node index.js
Run Code Online (Sandbox Code Playgroud)

问题是 TypeScript 编译器在完成编译后退出批处理脚本,因此该命令node index.js永远不会被执行。

如何保证之后的命令tsc得到执行?

我尝试查看编译器选项,但无法找到任何选项来阻止 TypeScript 编译器退出批处理脚本。

batch-file typescript

3
推荐指数
1
解决办法
966
查看次数