> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SCEP Library Item 구성

> Iru Endpoint에서 SCEP Library Item을 설정하여 SCEP 서버에서 Apple 기기 및 Windows 컴퓨터로 기기 인증서를 발급합니다.

<Callout icon="list-check" color="#B84A7A" iconType="regular">이 Library Item은 Apple 기기 및 Windows 컴퓨터에서 사용할 수 있습니다</Callout>
**SCEP(Simple Certificate Enrollment Protocol)** 프로파일을 사용하면 SCEP 서버와 인증 기관(CA)에서 기기로 인증서를 안전하게 발급할 수 있습니다. 이러한 인증서는 802.1x, VPN, 인증과 같은 서비스에 사용할 수 있습니다.
Iru의 SCEP 프로파일 기능은 **Apple 기기** 및 **Windows 컴퓨터**에 인증서를 자동으로 배포하고 재배포합니다. 인증서는 사용자별이 아닌 기기 수준에서 전달됩니다.

<Note>
  SCEP Library Item에서는 고정 챌린지만 사용할 수 있습니다.
</Note>

## SCEP 프로파일 Library Item 생성

시작하기 전에 Iru 테넌트에 로그인하세요.
이 Library Item을 Iru Endpoint Library에 추가하려면 [Library 개요](/ko/endpoint/library/library-items-profiles/library-overview) 문서의 단계를 따르세요.

<Steps>
  <Step title="Library로 이동">
    **Library**로 이동하여 **Library Item 추가**를 선택합니다.
  </Step>

  <Step title="SCEP 선택">
    **SCEP**를 검색하여 선택합니다.
  </Step>

  <Step title="Library Item 이름 지정">
    SCEP Library Item에 설명이 포함된 이름을 지정합니다.
  </Step>

  <Step title="플랫폼 선택">
    **설치 대상**에서 프로파일을 받을 플랫폼을 선택합니다.
  </Step>

  <Step title="Blueprints 선택">
    사용할 [Blueprints](/ko/endpoint/getting-started/blueprints-and-library/configuring-blueprints)를 선택합니다.
  </Step>

  <Step title="SCEP 서버 URL 입력">
    SCEP 서버의 기본 URL을 입력합니다.
  </Step>

  <Step title="표시 설정 구성">
    필요한 경우 표시 **이름**, **Challenge** 및 **Fingerprint**를 추가합니다.
  </Step>

  <Step title="Subject 설정 구성">
    **제목**(선택 사항) 및 **Subject Alternative Name Type**을 설정합니다.
  </Step>

  <Step title="키 설정 구성">
    **Key Size** 및 **Key Usage**를 설정합니다.
  </Step>

  <Step title="추가 설정 구성">
    필요한 경우 재시도, 액세스, 내보내기, 만료 및 재배포 설정을 추가합니다.
  </Step>
</Steps>

## 일반 설정

* **URL**
  SCEP 서버의 기본 URL입니다(예: `scep.example.org`).
* **이름**(선택 사항)
  여러 인증서를 사용할 때 이 CA를 구분하기 위한 레이블입니다.
* **챌린지**
  자동 등록을 위한 사전 공유 비밀 문자열입니다. **Windows**에서는 특정 문자만 허용됩니다. Windows 전용 옵션의 **SCEP Challenge characters**를 참조하세요.
* **지문**
  16진수 문자열 형식의 인증 기관 지문입니다.

### Subject 구성

* **주체**
  X.500 형식의 고유 이름입니다. 다음과 같은 [전역 변수](/ko/endpoint/library/library-items-profiles/global-variables)를 사용할 수 있습니다.
  * `CN=$SERIAL_NUMBER`
* **주체 대체 이름(SAN)**
  다음과 같이 [전역 변수](/ko/endpoint/library/library-items-profiles/global-variables)를 포함한 대체 식별자를 추가합니다.
  * `RFC 822 Name` = `$DEVICE_NAME`

## 키 설정

* **키 크기**
  키 크기(1024, 2048 또는 4096비트)를 선택합니다.
* **키 사용**
  옵션:
  * 서명
  * 암호화
  * 서명 및 암호화 모두

## 추가 옵션

* **재시도 횟수**
  서버가 *PENDING* 응답을 보낼 경우 재시도할 횟수입니다.
* **자동 프로필 재배포**
  활성화하면 Iru가 인증서 만료 날짜를 확인하고 만료가 임박하면 새 인증서를 자동으로 재발급합니다.

<Note>
  갱신은 인증서가 재배포 기간 내에 있을 때만 시작되며, 이 기간은 만료 최소 5일 전이어야 합니다. 이를 통해 발급 직후와 같이 인증서가 너무 일찍 갱신되는 것을 방지합니다.
</Note>

* 갱신 시 Iru는 Subject에 `$PROFILE_UUID` 변수를 추가합니다.

## 플랫폼별 옵션

<Tabs>
  <Tab title="Apple">
    ### Apple 전용 옵션

    * **재시도 지연**
      재시도 사이의 대기 시간(초)입니다.
    * **모든 앱이 개인 키에 액세스하도록 허용**
      모든 앱에 키체인의 개인 키에 대한 액세스 권한을 부여합니다.
    * **개인 키 추출 방지**
      키체인에서 개인 키를 내보내지 못하도록 합니다. 보안 강화를 위해 이 설정을 활성화하세요.
    * **인증서 만료 알림**
      macOS에서 인증서 만료가 임박하면 알림을 보냅니다.

    <Note>
      Apple 기기에 대해 **Automatic profile redistribution**이 활성화된 경우, 인증서에 사용자 정보가 필요하다면 Subject Alternative Names(SAN)에 사용자 전역 변수를 지정하세요. 인증서 갱신을 추적하기 위해 인증서 Subject의 Common Name에 Wi-Fi Library Item ID가 추가되기 때문에 필요합니다.
    </Note>
  </Tab>

  <Tab title="Windows">
    ### Windows 전용 옵션

    * **해시 알고리즘**
      알고리즘(예: SHA-256)을 선택합니다.
    * **재시도 대기 시간(분)**
      *PENDING* 응답 시 재시도 사이의 대기 시간입니다.

    <Note>
      Windows의 최대 재시도 횟수는 30회입니다.
    </Note>

    * **확장 키 사용**
      *Client authentication*과 같은 추가 용도를 추가합니다.
    * **키 보호**
      개인 키를 저장할 위치를 선택합니다. 보안 강화를 위해 **Prevent the private key data from being extracted**를 활성화하는 것이 좋습니다.
    * **유효 기간**
      인증서의 유효 기간을 설정합니다.

    <Note>
      유효 기간에는 최소 5일의 갱신 기간이 필요합니다. 예를 들어 인증서가 10일 동안 유효한 경우, 만료 5일 전에 자동 재배포가 시작되도록 설정할 수 있습니다. 더 짧은 기간(예: 10일 인증서에 7일)은 발급 직후 너무 빨리 갱신을 시도하게 되므로 설정할 수 없습니다.
    </Note>

    * **SCEP 챌린지 문자**
      Windows에서 **Challenge** 필드는 문자(A-Z 및 a-z), 숫자(0-9), 공백 및 `' ( ) + , - . / : = ?`만 허용합니다.

      다음 문자는 허용되지 **않습니다**.

      ```
      @ # $ % & * _ ; < > " [ ] { } | \ ^ ~ `
      ```

      비ASCII 및 유니코드 문자도 허용되지 않습니다.

      등록이 실패하면 서버 또는 네트워크 설정을 변경하기 전에 챌린지에 허용되지 않는 문자가 있는지 확인하세요.
  </Tab>
</Tabs>

## 중요 고려 사항

### 프로파일 재배포

자동 프로파일 재배포는 인증서가 만료되기 전에 갱신하므로 다운타임을 방지하고 인증이 원활하게 작동하도록 유지합니다.

### 키 추출 방지

**Prevent the private key data from being extracted**를 활성화하면 최종 사용자가 개인 키를 내보낼 수 없습니다. 보안 강화를 위해 활성화하는 것이 좋습니다.

## 모범 사례

<Steps>
  <Step title="인증서 수명 주기 계획">
    서비스가 중단 없이 실행되도록 인증서 유효 기간과 갱신 기간을 설정합니다.
  </Step>

  <Step title="챌린지 비밀 보호">
    무단 등록을 방지하기 위해 각 SCEP 구성에 강력하고 고유한 챌린지 비밀을 사용합니다.
  </Step>

  <Step title="인증서 상태 모니터링">
    문제를 빠르게 발견하고 해결할 수 있도록 인증서 등록 및 갱신 상태를 정기적으로 확인합니다.
  </Step>

  <Step title="구성 테스트">
    먼저 몇 대의 기기에서 SCEP 구성을 테스트하세요. 전체 기기에 영향을 미치기 전에 문제를 발견하는 데 도움이 됩니다.
  </Step>
</Steps>

## 문제 해결

<AccordionGroup>
  <Accordion title="Windows에서 SCEP 챌린지 실패(잘못된 문자)">
    **가능한 원인:**

    * **Challenge** 값에 Windows에서 허용하지 않는 문자(예: `_`)가 포함됨
    * 챌린지에 비ASCII 또는 유니코드 문자가 포함됨

    **해결 방법:**

    * **Challenge**를 Windows 전용 옵션의 **SCEP Challenge characters**에 있는 허용 문자 목록과 비교
    * 허용되지 않는 문자를 제거하거나 교체한 다음 Library Item을 저장합니다. 챌린지에 밑줄이 포함된 경우 허용된 문자만 사용하도록 챌린지를 업데이트할 때까지 등록이 실패하는 사례가 있었습니다
    * 업데이트된 프로파일이 적용되도록 기기가 체크인 또는 동기화하도록 허용
  </Accordion>

  <Accordion title="인증서 등록 실패">
    **가능한 원인:**

    * 잘못된 SCEP 서버 URL
    * 유효하지 않은 챌린지 비밀
    * 네트워크 연결 문제
    * 인증 기관 지문 불일치
      **해결 방법:**
    * SCEP 서버 URL 및 접근성 확인
    * 챌린지 비밀이 서버 구성과 일치하는지 확인
    * 네트워크 연결 및 방화벽 규칙 확인
    * 인증 기관 지문 검증
  </Accordion>

  <Accordion title="인증서 갱신 문제">
    **가능한 원인:**

    * 갱신 기간이 너무 짧음
    * SCEP 서버가 응답하지 않음
    * 인증서 유효 기간 충돌
      **해결 방법:**
    * 갱신 기간이 만료 최소 5일 전인지 확인
    * SCEP 서버 가용성 및 로그 확인
    * 인증서 유효 기간 구성 확인
  </Accordion>

  <Accordion title="개인 키 액세스 문제">
    **가능한 원인:**

    * 키 보호 설정이 너무 제한적임
    * 키체인 액세스 권한
    * 애플리케이션별 키 액세스 요구 사항
      **해결 방법:**
    * 키 보호 및 액세스 설정 검토
    * 애플리케이션의 키체인 권한 확인
    * 필요한 애플리케이션에 적절한 키 액세스 구성
  </Accordion>
</AccordionGroup>

## 보안 고려 사항

<CardGroup cols={2}>
  <Card title="챌린지 보안" icon="shield">
    무단 등록을 방지하기 위해 강력하고 고유한 챌린지 비밀을 사용하고 정기적으로 교체하세요.
  </Card>

  <Card title="키 보호" icon="lock">
    인증서를 안전하게 유지하려면 개인 키 추출 방지를 활성화하세요.
  </Card>

  <Card title="인증서 모니터링" icon="eye">
    보안 문제를 발견할 수 있도록 인증서 등록 및 갱신 활동을 모니터링하세요.
  </Card>

  <Card title="액세스 제어" icon="user">
    애플리케이션에 필요한 사항에 따라 키 액세스 권한을 설정하세요.
  </Card>
</CardGroup>
