8.3. Karaf에 Fuse 인증 정보 저장소 설정

  1. credential-store:create 명령을 사용하여 인증 정보 저장소를 생성합니다.

    karaf@root()> credential-store:create -a location=credential.store -k password="my password" -k algorithm=masked-MD5-DES
    In order to use this credential store set the following environment variables
    Variable                              | Value
    ------------------------------------------------------------------------------------------------------------------------
    CREDENTIAL_STORE_PROTECTION_ALGORITHM | masked-MD5-DES
    CREDENTIAL_STORE_PROTECTION_PARAMS    | MDkEKXNvbWVhcmJpdHJhcnljcmF6eXN0cmluZ3RoYXRkb2Vzbm90bWF0dGVyAgID6AQIsUOEqvog6XI=
    CREDENTIAL_STORE_PROTECTION           | Sf6sYy7gNpygs311zcQh8Q==
    CREDENTIAL_STORE_ATTR_location        | credential.store
    Or simply use this:
    export CREDENTIAL_STORE_PROTECTION_ALGORITHM=masked-MD5-DES
    export CREDENTIAL_STORE_PROTECTION_PARAMS=MDkEKXNvbWVhcmJpdHJhcnljcmF6eXN0cmluZ3RoYXRkb2Vzbm90bWF0dGVyAgID6AQIsUOEqvog6XI=
    export CREDENTIAL_STORE_PROTECTION=Sf6sYy7gNpygs311zcQh8Q==
    export CREDENTIAL_STORE_ATTR_location=credential.store

    이는 시크릿을 저장하기 위한 JCEKS KeyStore인 credential.store 파일이 있어야 합니다.

  2. Karaf 컨테이너를 종료합니다.

    karaf@root()> logout
  3. 인증 정보 저장소를 생성할 때 표시되는 환경 변수를 설정합니다.

    $ export CREDENTIAL_STORE_PROTECTION_ALGORITHM=masked-MD5-DES
    $ export CREDENTIAL_STORE_PROTECTION_PARAMS=MDkEKXNvbWVhcmJpdHJhcnljcmF6eXN0cmluZ3RoYXRkb2Vzbm90bWF0dGVyAgID6AQIsUOEqvog6XI=
    $ export CREDENTIAL_STORE_PROTECTION=Sf6sYy7gNpygs311zcQh8Q==
    $ export CREDENTIAL_STORE_ATTR_location=credential.store
    중요

    Karaf 컨테이너를 시작하기 전에 CREDENTIAL_STORE_* 환경 변수를 설정해야 합니다.

  4. Karaf 컨테이너를 시작합니다.

    bin/karaf
  5. credential-store:store 를 사용하여 인증 정보 저장소에 보안을 추가합니다.

    karaf@root()> credential-store:store -a javax.net.ssl.keyStorePassword -s "alias is set"
    Value stored in the credential store to reference it use: CS:javax.net.ssl.keyStorePassword
  6. Karaf 컨테이너를 다시 종료합니다.

    karaf@root()> logout
  7. 값이 아닌 시크릿에 대한 참조를 다시 지정합니다.

    $ EXTRA_JAVA_OPTS="-Djavax.net.ssl.keyStorePassword=CS:javax.net.ssl.keyStorePassword" bin/karaf

System::getProperty 를 사용하여 액세스하는 경우 javax.net.ssl.keyStorePassword 값에 "alias is set" 문자열이 포함되어야 합니다.

참고

EXTRA_JAVA_OPTS 는 시스템 속성을 지정하는 여러 방법 중 하나입니다. 이러한 시스템 속성은 Karaf 컨테이너 시작 시 정의됩니다.

중요

환경 변수가 환경 외부에 유출되거나 인증 정보 저장소 파일의 콘텐츠와 함께 사용을 의도한 경우 시크릿이 손상됩니다. Cryostat를 통해 액세스하는 경우 속성 값이 "< sensitive>" 문자열로 대체되지만 System::getProperty 인 경우 System::getProperty 인 경우 인스턴스 진단 또는 모니터링 도구가 디버깅을 위해 타사 소프트웨어와 함께 액세스할 수 있는 많은 코드 경로가 있습니다.