내 앱에서 웹 푸시 프로토콜과 함께 웹 푸시 알림을 사용하려고합니다. Push API를 VAPID와 함께 사용하려면 applicationServerKey
이 필요합니다.Java에서 VAPID 키를 생성하여 JavaScript PushManager에 전달하십시오.
PushManager subscribe
메서드는 VAPID 키 (공개 키 만)를 매개 변수로 사용하여 구독 종료 지점과 키를 푸시하는 키를 제공합니다.
VAPID 키를 생성하려면 node.js (Google web-push
패키지)와 openssl
을 사용하고 있습니다. 하지만 내 경우에는 VAPID 키가 자바 내에서 생성되어야하고 브라우저에서 구독하려면 JavaScript에 전달되어야합니다.
Java에서 아래 코드를 사용하여 VAPID 키를 생성하려고합니다. 성공적으로 키를 만들 수 있지만 생성 된 공개 키 (base64로 인코딩 된 문자열)를 전달할 때
날이 문제를 해결 도와주세요 .. 유효하지 않습니다. 아래 자바 코드입니다 :서비스 작업자를 등록 할 수 없습니다. 예외 : DOMException가 'PushManager'에 은 '구독'실행하지 못했습니다 : 제공된 applicationServerKey는
ECNamedCurveParameterSpec parameterSpec =
ECNamedCurveTable.getParameterSpec("prime256v1");
KeyPairGenerator keyPairGenerator =
KeyPairGenerator.getInstance("ECDH", "BC");
keyPairGenerator.initialize(parameterSpec);
KeyPair serverKey = keyPairGenerator.generateKeyPair();
PrivateKey priv = serverKey.getPrivate();
PublicKey pub = serverKey.getPublic();`
System.out.println(Base64.toBase64String(pub.getEncoded()));
하이 - 어떤 행운이? 당신은 나에게 몇 가지 조언을 해주실 수 있습니까? – csharpnewbie