ECDH 키 쌍을 생성하고 공개 키를 가져 왔습니다. nodejs와 암호화 라이브러리 사용.WebCDrypto와 함께 사용하기 위해 Crypto ECDH 공개 키를 JWK 형식으로 구문 분석
const ecdh = crypto.createECDH('secp384r1');
ecdh.generateKeys();
const publicKey = ecdh.getPublicKey('hex');
나는이 공개 키는 ECDH 알고리즘과 WebCrypto에서 SubtleCrypto 인터페이스를 사용하여 데이터를 암호화하기 위해 클라이언트 측 라이브러리를 구현하고 있습니다.
이 작업을 수행하려면 공개 키 (nodejs 암호로 생성)를 가져와야합니다. WebCrypto importKey method에는이를 수행 할 수있는 몇 가지 형식 옵션이 있지만 그 중 일부와 함께 작동하도록 설정할 수 있습니다. 나는 jwk
이 다른 것들보다 많이 사용된다는 것을 알았다.
jwk
의 예는 내가 jwk
객체로 내 공개 키를 구문 분석 할 수있는 방법 그래서
{
kty: "EC",
crv: "P-256",
x: "kgR_PqO07L8sZOBbw6rvv7O_f7clqDeiE3WnMkb5EoI",
y: "djI-XqCqSyO9GFk_QT_stROMCAROIvU8KOORBgQUemE",
d: "5aPFSt0UFVXYGu-ZKyC9FQIUOAMmnjzdIwkxCMe3Iok",
ext: true,
}
입니다. 내 공개 키는 다음과 같습니다. 04f8b2a6e9d2ffa424c3e7b6addf23112153920fd0209390da460f99e03bf8665052e72df4a0b7927381f1b026c98a3a2b348fdd10969875e6b0e86cb1f093a5fc07e49fbbbf091922ce71af17f4a79de03f6069836a7143b137be34451f162235
고마워요. @rmhrisk, 라이브러리는 jwk의 키를 구문 분석하지 않습니다. https://github.com/PeculiarVentures/node-webcrypto-ossl/blob/master/lib/subtle.ts#L424. 나는 또한 원시 형식을 사용하려고 시도했지만'DOMException'이라는 말을 들었습니다 :'알고리즘을 지원하지 않는 가져 오기 키 형식' –
어떤 브라우저를 사용하고 있습니까? 사파리에 importKey 문제가 있습니다. – rmhrisk
크롬과 카나리아를 사용하고 있습니다. 문제가 아닌 것 같습니다. –