2240a0d604ae720018a23794d3be863114d3138d
HsmManager - PKCS11_CONFIG_SECONDARY / PIN_SECONDARY 프로퍼티 추가. PIN_SECONDARY 미설정 시 PIN 재사용, PKCS11_CONFIG_SECONDARY 미설정 시 후보가 1건이므로 기존과 동일하게 동작한다. - 기동/재연결 모두 PRIMARY -> SECONDARY 순으로 시도해 최초 성공분을 사용한다. 연결 성공 판정은 Provider 생성 + KeyStore.load + alias/getKey probe까지 포함하며, Security 등록 전에 검증하므로 실패해도 사용 중인 Provider/keyStore는 영향이 없다. - 주기적 재로드에서 SECONDARY로 동작 중이면 PRIMARY 재연결을 먼저 시도해 PRIMARY 복구 시 자동 복귀한다. PRIMARY 정상 동작 중에는 기존 keyStore 인스턴스에 다시 load() 하여 PKCS11 세션 누적 방지 로직을 유지한다. - PropertyChangeListener로 등록하여 HSM 프로퍼티 변경 시 다음 스케줄을 기다리지 않고 즉시 재적용한다. HSM 통신이 호출 스레드를 막지 않도록 스케줄러 스레드에 위임하며, RELOAD_INTERVAL_MINUTES 변경 시 스케줄을 재등록한다. - activeConfigName, failoverCount, lastReloadResult 등 모니터링 상태값을 노출한다. HsmCryptoService - 캐시 진단용 getCachedKeyInfos() / getCacheTtlMs() 추가. 키 원본은 노출하지 않는다. /manage/hsm - status(연결 설정/프로퍼티/alias/캐시 키), properties, keystore/aliases, cache/keys 조회와 reload, cache/clear 실행 API 추가. PIN 류 프로퍼티는 마스킹한다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013ZMr6y9kc6Y6TWN3x4gpYg
Description
No description provided
Languages
Java
100%