현재 웹 앱에 Reddit OAuth2 로그인을 구현 중입니다. 핸드 쉐이크 및 토큰 교환이 잘 작동 할 때 로컬 테스트하지만 ('OpenShift'DIY 카트리지에서 호스팅) 나는 다음과 같은 오류 얻을 서버에서 실행하는 경우 :자바 SSL DH 키 쌍 생성 - 프라임 크기 오류
java.security.InvalidAlgorithmParameterException: Prime size must be
multiple of 64, and can only range from 512 to 1024 (inclusive)
java.lang.RuntimeException: Could not generate DH keypair
I의 결과입니다 자바의 버전을 바꿀 때부터 BouncyCastle을 사용할 때까지 다양한 솔루션을 찾아 냈습니다. 그러나 나는라이브러리를 사용하고 있으므로 BouncyCastle을 fork하고 스크라이브의베이스를 변경하지 않고 구현할 수 있다고 생각하지 않습니다.
JCE Unlimited Strength도 설치되었지만 루트 액세스 권한이 없으므로 OpenShift에서이를 수행 할 수 없습니다 (팀 중 하나를 수행 할 수 있음). 사용
자바 버전 (java -version
에서 촬영)됩니다
지역 시험기 :
java version "1.7.0_51"
OpenJDK Runtime Environment (IcedTea 2.4.4) (7u51-2.4.4-1ubuntu1)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
OpenShift 서버 : 내가하는대로 손실에있어
java version "1.7.0_51"
OpenJDK Runtime Environment (rhel-2.4.4.1.el6_5-i386 u51-b02)
OpenJDK Server VM (build 24.45-b08, mixed mode)
무엇 나는 이것을 해결할 수있다. 바라건대 나는 어리 석거나 뭔가를 오해하고 있습니다. 그래서 가능한 모든 해결책이 좋을 것입니다!
-
EDIT 1
오류를 반환 요청 코드 (내가 언급 한 바와 같이, 스크라이브를 사용하여, 너무 많이 사용하지 않을 수도 있습니다). 토큰 엔드 포인트는 POST를 사용하여 https://ssl.reddit.com/api/v1/access_token
입니다. 위에서 말했듯이 이것은 내 테스트 머신에서 작동합니다. 그것은 중요한 확실하지만, 오픈 JDK는 OpenShift에서 실행중인 버전하지
OAuthRequest request = new OAuthRequest(getAccessTokenVerb(), getAccessTokenEndpoint());
request.addHeader("Authorization", "Basic"
+Base64.encode((config.getApiKey()+":"+config.getApiSecret()).getBytes()));
request.addBodyParameter("state", "none");
request.addBodyParameter(OAuthConstants.SCOPE, config.getScope());
request.addBodyParameter(OAuthConstants.CLIENT_ID, config.getApiKey());
request.addBodyParameter(OAuthConstants.REDIRECT_URI, config.getCallback());
request.addBodyParameter(OAuthConstants.CODE, verifier.getValue());
request.addBodyParameter("grant_type", "authorization_code");
Response response = request.send(); // Errors here from Request.createConnection in the Scribe code
return getAccessTokenExtractor().extract(response.getBody());
키 쌍을 생성하는 데 사용하는 코드를 게시하여 테스트 할 수 있습니까? –
참조 http://stackoverflow.com/questions/6851461/java-why-does-ssl-handshake-give-could-not-generate-dh-keypair-exception – Raedwald