ฉันกำลังพยายามเพิ่มการทดสอบ JUnit เพิ่มเติมให้กับผลิตภัณฑ์ App-Server (TomCat) ที่มีอยู่ ฉันพบปัญหากับ TrustManager แบบกำหนดเอง (ที่มีอยู่และสอดแทรก) สิ่งนี้ทำงานได้ดีในการผลิต แต่ระหว่าง JUnit ให้ข้อยกเว้น
TrustManager ที่ปรับแต่งเฉพาะจะโหลดที่เก็บคีย์จากเส้นทาง และเชื่อถือใบรับรองสาธารณะของเราโดยปริยาย ด้วยเหตุผลบางประการ การใช้สิ่งนี้ใน JUnits ทำให้เกิดข้อยกเว้นในบรรทัดต่อไปนี้:
TrustManagerFactory tmFactory = TrustManagerFactory.getInstance("PKIX");
ข้อยกเว้น:
java.security.NoSuchAlgorithmException: class configured for TrustManagerFactory: com.sun.net.ssl.internal.ssl.TrustManagerFactoryImpl$PKIXFactory not a TrustManagerFactory
ข้อยกเว้นนี้เกิดขึ้นไม่ว่าจะใช้ชุดผู้ให้บริการ/อัลกอริทึมใด ("SunX509", .getDefaultAlgorithm() et al.)
ข้อมูลเชิงลึกใด ๆ จะได้รับการชื่นชมอย่างมาก
java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) 64-Bit Server VM (build 19.0-b09, mixed mode)
- person David Beveridge   schedule 02.02.2013