2011-02-12 7 views
1

내가 경량 탄력이 성 패키지를 사용하고 가져온 클래스에 문제가 컴파일이 내 코드이 프로그램은 완벽하지만, 런타임에

X9ECParameters x9=NISTNamedCurves.getByName("p-224"); 
ECDomainParameters params=new ECDomainParameters(x9.getCurve(),x9.getG(),x9.getN(),x9.getH()); 
ECKeyGenerationParameters gp=new ECKeyGeneratorParameters(params,SecureRandom.getInstance("SHA1PRNG")); 
...... 

이 프로그램은 성공적으로 컴파일하지만 시간 오류를 실행 생성 ..

java.lang.NOClassDefFoundError:java/security/SecureRandom 

....

내가 그것을 어떻게 해결할 수 있습니까?

+1

실행중인 경로에'SecureRandom' 클래스가 들어있는'jar' 파일이 있습니까? –

+0

니스 편집, 해리. – Gabe

+0

예. SecureRandom에 필요한 클래스를 가져 왔습니다. 하지만 왜 내가이 오류가 발생하는지 모르겠다 – Pramod

답변

0

아마도 J2ME 버전의 BC 패키지를 사용해야합니다. 그것은 java.security.SecureRandom 자신의 버전뿐만 아니라 J2ME에없는 다른 필요한 클래스를 포함합니다. latest releases 페이지에 바로 있습니다. lcrypto-j2me를 검색하여 페이지에서 찾으십시오.

+0

우리는 lcrypto j2me 버전 만 사용하고 있지만 SecureRandom 클래스 파일에만 문제가 있습니다 ... 클래스 파일에서 .java 파일을 얻으려고 할 때 netbeans가 실제로 패키지에서 제공하는 것과 다른 파일입니다. – Pramod

2

SecureRandom은 Java 1.1 이후 Java 표준 API의 일부 였으므로 코드를 실행하려고합니까? Google App Engine? 기계적 인조 인간? Java ME? 그것들은 모든 자바 표준 API 라이브러리를 지원하지 않는 모든 환경입니다.

플랫폼이 다른 품질의 임의성 소스를 제공하는지 여부를 조사해야합니다.

+0

나는 그가 자바 ME를 사용하고 있다고 생각한다. –

+0

j2me에서 이것을 사용하고 jar 파일을 추가했습니다. jar 파일을 추가하지 않고도 컴파일되지 않습니다. – Pramod

관련 문제