Chúng tôi chạy một ứng dụng web với chương trình phụ trợ JVM (Java 7 cập nhật 75; mã ở Scala, nhưng tôi không tin điều này là có liên quan). Chúng tôi sử dụng Google để xác thực thông qua Oauth.Lỗi xác thực của Google khi truy cập điểm cuối mã thông báo từ JVM
Đã có một số ngày trong vài tháng qua mà chúng tôi đã không liên tục không thể xác thực người dùng.
Chuyển hướng đến và từ Google thành công, nhưng khi chúng tôi cố gắng gọi số token_endpoint
tại https://www.googleapis.com/oauth2/v4/token để xác thực xác thực, đôi khi chúng tôi nhận được ngoại lệ sau: javax.net.ssl.SSLHandshakeException: server certificate change is restrictedduring renegotiation
.
Nhận xét này về một câu hỏi khác khiến tôi tìm thấy lỗi JDK có thể biểu hiện như ngoại lệ này (What means "javax.net.ssl.SSLHandshakeException: server certificate change is restrictedduring renegotiation" and how to prevent it?).
giả thuyết làm việc của tôi là:
Lỗi (https://bugs.openjdk.java.net/browse/JDK-8072385) có nghĩa là chỉ mục đầu tiên trong Subject Alternative Name danh sách (SAN) được kiểm tra. Ngoại lệ trên được ném khi tên máy chủ được xác minh nằm trong danh sách SAN, nhưng không phải ở đầu danh sách.
Hôm qua (ngày 27 tháng 5 năm 2015 từ), chúng tôi đã thấy hai chứng chỉ khác nhau được cung cấp liên tục từ www.googleapis.com. Đầu tiên (nối tiếp 67:1a:d6:10:cd:1a:06:cc
) có danh sách SAN là DNS:*.googleapis.com, DNS:*.clients6.google.com, DNS:*.cloudendpointsapis.com, DNS:cloudendpointsapis.com, DNS:googleapis.com
trong khi thứ hai (nối tiếp 61:db:c8:52:b4:77:cf:78
) có danh sách SAN là: DNS:*.storage.googleapis.com, DNS:*.commondatastorage.googleapis.com, DNS:*.googleapis.com
.
Do lỗi trong JVM, chúng tôi có thể xác thực chứng chỉ đầu tiên, nhưng ngoại lệ được ném với chứng chỉ thứ hai (mặc dù hoàn toàn hợp lệ) vì *.googleapis.com
không phải là mục nhập đầu tiên trong danh sách SAN.
Bản sửa lỗi chưa được phát hành 7u85 (không đề cập đến thời điểm này sẽ có sẵn).
Tôi đã hạ cấp một nút duy nhất của cụm thành 7u65, nhưng chứng chỉ dường như được hoàn nguyên vào khoảng thời gian chúng tôi thực hiện điều này (lỗi cuối cùng chúng tôi thấy là 22: 20GMT). .
Có ai khác đã trải nghiệm điều này hoặc điều gì đó tương tự và có bất kỳ giải pháp nào khác ngoài việc hạ cấp (hạ cấp loại bỏ các kiểm tra SSL/TLS khác) không?