Что такое подписчики класса на Java?
Класс Class<?>
имеет метод public Object[] getSigners()
, JavaDoc которого не очень помогает в объяснении того, что делает этот метод; вызвав его на пару классов, вернул null для меня.
Google только вернула информацию об исключениях безопасности, в которых не упоминалось о подписчиках класса; Я видел там об этих исключениях, когда одни и те же классы загружаются из нескольких банок.
Что именно представляет собой подписчик класса Java? Это какой-то уникальный идентификатор, предоставляемый JVM или инструментом, когда подписан Jar?
В StackOverflow есть тег для подписывающего лица, но он пуст...
Ответы
Ответ 1
Когда вы подписываете файл .jar в Java, Toolsigner проходит через него и рекурсивно подписывает каждый файл в .jar. Однако это не ограничивается только одним подписывающим устройством, поскольку вы можете подписать файл со многими различными сертификатами. Когда вы проверяете, что файл подписан соответствующим подписчиком, вы можете вызвать метод getSigners()
, чтобы вернуть список всех подписывающих лиц, подписавших этот класс.