PasswordCallback — 비밀번호 조회 콜백

PasswordCallback — 비밀번호 조회 콜백

PasswordCallbackCallbackHandlerhandle 메서드에 전달되어 비밀번호 정보를 검색하는 데 사용되는 콜백 클래스예요. 기본 보안 서비스가 사용자 비밀번호를 필요로 할 때 사용해요.

출처: Java API Reference

본문

public class PasswordCallback extends Object implements Callback, Serializable

생성자

  • PasswordCallback(String prompt, boolean echoOn) — 프롬프트와, 비밀번호를 입력하는 동안 표시할지 여부를 나타내는 불리언으로 PasswordCallback을 생성해요. echoOntrue면 비밀번호가 입력 중에 표시돼요. promptnull이거나 길이가 0이면 IllegalArgumentException이 발생해요.

메서드

  • String getPrompt() — 프롬프트를 반환해요.
  • boolean isEchoOn() — 비밀번호를 입력하는 동안 표시할지 여부를 반환해요.
  • void setPassword(char[] password) — 검색된 비밀번호를 설정해요. 이 메서드는 저장하기 전에 입력 비밀번호를 복사해요. passwordnull일 수 있어요.
  • char[] getPassword() — 검색된 비밀번호를 반환해요. 이 메서드는 검색된 비밀번호의 복사본을 반환해요. null일 수 있어요.
  • void clearPassword() — 검색된 비밀번호를 지워요.

보안 관련 주의

비밀번호는 String이 아니라 char[]로 다뤄져요. String은 불변이라 메모리에 남아 가비지 컬렉션 후에도 지워지지 않지만, char[]는 사용 후 clearPassword()로 명시적으로 지울 수 있기 때문이에요. 비밀번호를 다 사용한 뒤에는 반드시 clearPassword()를 호출해서 메모리에서 제거하는 것이 좋아요.

어떻게 쓰일까요?

보안 서비스가 사용자 비밀번호를 필요로 하면 PasswordCallback을 만들어 CallbackHandler에 전달해요. CallbackHandler는 프롬프트를 보여주고 비밀번호를 입력받아 setPassword로 설정해요. 보안 서비스는 getPassword로 읽어 사용하고, 사용 후엔 clearPassword로 지워요.

더 알아보기 (Learn more)