---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# KMFCryptoOperation - 범위, 전역

# KMFCryptoOperation - 범위, 전역 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 22분

KMFCryptoOperation 클래스는 (KMF) 암호화 모듈 또는 암호화 모듈을 사용하여 핵심 관리 프레임워크 암호화 작업을 수행하는 메서드를 필드 암호화 제공합니다.

이 API를 사용하려면 KMF 암호화 모듈 또는 CLE 암호화 모듈을 이미 생성하고 구성해야 합니다. 모듈에는 하나 이상의 암호화 사양이 있어야 하며 연결된 키를 만들거나 임포트해야 합니다. 자세한 내용은 [암호화 모듈을](https://www.servicenow.com/docs/access?context=crypto-module-overview&version=australia&pubname=australia-platform-security&ft:locale=en-US) 참조하십시오.

이 API를 사용하여 생성된 KMFCryptoOperation 객체는 대칭 암호화와 같은 암호화 작업을 나타냅니다. KMFCryptoOperations() 메서드를 사용하여 이 객체를 만들고, 빌더 메서드를 사용하여 객체의 속성을 설정하고, doOperation() 메서드를 사용하여 작업을 실행합니다.

범위가 지정된 애플리케이션과 전역 애플리케이션 모두에서 이 API를 사용할 수 있습니다. 이 API를 호출할 때는 항상 `sn_kmf_ns` 네임스페이스를 지정해야 합니다.

## KMFCryptoOperation - KMFCryptoOperation(String cryptoModuleName, String operationName) {#ariaid-title2}

지정된 모듈 및 운영에 대한 KMFCryptoOperation 객체를 작성합니다.
이 API는 작성기 메서드를 활용합니다. 작성기 메서드는 데이터의 원하는 출력 형식을 변경하는 등 KMFCryptoOperation 객체의 속성을 업데이트합니다. 모든 작성기 메서드가 모든 작업에 유효한 것은 아닙니다. 각 작업에 사용할 수 있는 작성기 메서드는 아래 매개변수 테이블에 나와 있습니다.  
다음 작성기 메서드는 모든 작업 유형에 유효합니다.

* [withInputFormat()](https://servicenow-prod.fluidtopics.net/pr5Lusy8dj9oEHRQk_ViEw#KMFCO-withInputFormat_S "암호화 작업이 수행될 입력 데이터의 데이터 형식을 설정합니다. 데이터를 디코딩할 때 지정된 형식을 사용합니다.")
* [withOutputFormat()](https://servicenow-prod.fluidtopics.net/pr5Lusy8dj9oEHRQk_ViEw#KMFCO-withOutputFormat_S "암호화 작업으로 반환되는 출력 데이터의 데이터 형식을 설정합니다. 데이터를 인코딩할 때 지정된 형식을 사용합니다.")
* [withOutputType()](https://servicenow-prod.fluidtopics.net/pr5Lusy8dj9oEHRQk_ViEw#KMFCO-withOutputType_S "암호화 작업이 수행된 후 반환되는 출력 데이터의 데이터 유형을 설정합니다.")
{#KMFCO-KMFCryptoOperation_S_S__ul_ijl_xtb_wnb}  
중요사항:  
이 문서에 사용된 Base64 입력 값은 URL에 적합해야 합니다(A-Z, a-z, 0-9, 대시(-) 및 밑줄(_) 문자만 포함). {#KMFCO-KMFCryptoOperation_S_S__table_mth_p3t_tnb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| cryptoModuleName | 문자열 | 사용할 키 관리 프레임워크(KMF) 암호화 모듈 또는 필드 암호화 암호화 모듈의 이름입니다. 이 메서드를 호출하기 전에 모듈을 만들어야 합니다. 자세한 내용은 [암호화 모듈 개요](https://www.servicenow.com/docs/access?context=crypto-module-overview&version=australia&pubname=australia-platform-security&ft:locale=en-US)를 참조하십시오. |
| operationName | 문자열 | 수행할 작업의 이름입니다. 유효한 값(대/소문자 구분 안 함): * ASYMMETRIC_DECRYPTION: 비대칭 키 알고리즘을 사용한 데이터 암호 해독입니다. 비대칭 데이터 암호 해독 암호화 목적이 있는 KMF 암호화 모듈이 필요합니다. * 추가 작성기 메서드: withAdditionalInput() * 기본 입력 형식: 형식 지정됨 - KMF 사양에 따라 형식이 지정됨 * 기본 출력 형식: KMFBase64 - Base64 인코딩 * 기본 출력 유형: 문자열 {#KMFCO-KMFCryptoOperation_S_S__ul_jzh_zsb_wnb} * ASYMMETRIC_ENCRYPTION: 비대칭 키 알고리즘을 사용한 데이터 암호화입니다. 비대칭 데이터 암호화 암호화 목적이 있는 KMF 암호화 모듈이 필요합니다. * 추가 작성기 메서드: withAdditionalInput() * 기본 입력 형식: KMFBase64 - Base64 인코딩 * 기본 출력 형식: 형식 지정됨 - KMF 사양에 따라 형식이 지정됨 * 기본 출력 유형: 문자열 . 출력은 [KMFEncryptionPayload](https://servicenow-prod.fluidtopics.net/pr5Lusy8dj9oEHRQk_ViEw#KMFCO-withAddInput_S__KMFEncryptionPayload) 개체일 수도 있습니다. RSA 및 EC-IES는 둘 다와 호환됩니다. KMFEncryptionPayload 개체에 대한 자세한 내용은 [withAdditionalInput()](https://servicenow-prod.fluidtopics.net/pr5Lusy8dj9oEHRQk_ViEw#KMFCO-withAddInput_S__KMFEncryptionPayload)을 참조하세요. {#KMFCO-KMFCryptoOperation_S_S__ul_qtb_hvb_wnb} * ASYMMETRIC_UNWRAPPING: 비대칭 키 알고리즘을 사용하여 키 래핑 해제. 비대칭 키 래핑 해제 암호화 목적이 있는 KMF 암호화 모듈이 필요합니다. * 추가 작성기 메서드: withAlgorithm() * 기본 입력 형식: 형식 지정됨 - KMF 사양에 따라 형식이 지정됨 * 기본 출력 형식: KMFBase64 - Base64 인코딩 * 기본 출력 유형: 문자열 {#KMFCO-KMFCryptoOperation_S_S__ul_t2c_pvb_wnb} * ASYMMETRIC_WRAPPING: 비대칭 키 알고리즘을 사용한 키 래핑입니다. 비대칭 키 래핑 암호화 목적이 있는 KMF 암호화 모듈이 필요합니다. * 추가 작성기 메서드: withAlgorithm(), withSysId() * 기본 입력 형식: KMFBase64 - Base64 인코딩 * 기본 출력 형식: 형식 지정됨 - KMF 사양에 따라 형식이 지정됨 * 기본 출력 유형: 문자열 * JWT_SIGN: 비대칭 키 알고리즘을 사용하여 JSON 웹 토큰(JWT) 서명을 생성합니다. 서명 작성 암호화 목적이 있는 KMF 암호화 모듈이 필요합니다. JWT 헤더는 withAdditionalInput() 메서드를 통해 전달되어야 합니다. 생성된 JWT는 공개 키 자료에 액세스할 수 있는 외부 시스템에서 확인할 수 있습니다. * 추가 작성기 메서드:withAdditionalInput() * 기본 입력 형식: 문자열, JSON 형식의 JWT 페이로드 * 기본 출력 형식: 문자열, 전체 JWT 토큰(header.payload.signature) * 기본 출력 유형: 문자열 {#KMFCO-KMFCryptoOperation_S_S__ul_rfd_srw_g3c} * JWT_VERIFY: 비대칭 키 알고리즘을 사용한 JWT(JSON 웹 토큰) 서명 검증. 서명 검증 암호화 목적이 있는 KMF 암호화 모듈이 필요합니다. * 추가 작성기 메서드: 없음. * 기본 입력 형식: 문자열, 완전한 JWT 토큰(header.payload.signature) * 기본 출력 형식: 유효성 상태, 디코딩된 헤더 및 디코딩된 페이로드를 포함하는 문자열 * 기본 출력 유형: 문자열. 검증에 성공하면 서명 유효성(예/아니오)과 디코딩된 JWT 구성요소가 포함된 JSON 객체를 반환합니다. ServiceNow 인스턴스 내부와 외부에서 생성된 JWT를 확인할 수 있습니다. {#KMFCO-KMFCryptoOperation_S_S__ul_emc_bsw_g3c} * MAC_GENERATION: 메시지 인증 코드(MAC)를 생성합니다. 데이터 무결성과 인증을 제공하는 대칭 키 알고리즘을 기반으로 합니다. 대칭 신뢰성 암호화 목적이 있는 KMF 암호화 모듈이 필요합니다. * 추가 작성기 메서드: 없음 * 기본 입력 형식: KMFBase64 - Base64 인코딩 * 기본 출력 형식: 형식 지정됨 - KMF 사양에 따라 형식이 지정됨 * 기본 출력 유형: 문자열 * MAC_VERIFICATION: MAC 검증. 데이터 무결성과 인증을 제공하기 위한 기반의 대칭 키 알고리즘입니다. 대칭 신뢰성 암호화 목적이 있는 KMF 암호화 모듈이 필요합니다. * 추가 작성기 메서드: withAdditionalInput() * 기본 입력 형식: KMFBase64 - Base64 인코딩 * 기본 출력 형식: KMFNone - 디코딩 없음 * 기본 출력 유형: 부울 {#KMFCO-KMFCryptoOperation_S_S__ul_xqh_bxb_wnb} * SIGNATURE_GENERATION: 디지털 서명 생성. 데이터 무결성과 인증을 제공하는 데 기반한 비대칭 키 알고리즘입니다. 서명 작성 암호화 목적이 있는 KMF 암호화 모듈이 필요합니다. * 추가 작성기 메서드: 없음 * 기본 입력 형식: KMFBase64 - Base64 인코딩 * 기본 출력 형식: 형식 지정됨 - KMF 사양에 따라 형식이 지정됨 * 기본 출력 유형: 문자열 {#KMFCO-KMFCryptoOperation_S_S__ul_t5k_gtj_wnb} * SIGNATURE_VERIFICATION: 디지털 서명 확인. 데이터 무결성과 인증을 제공하는 데 기반한 비대칭 키 알고리즘입니다. 서명 검증 암호화 목적이 있는 KMF 암호화 모듈이 필요합니다. * 추가 작성기 메서드: withAdditionalInput() * 기본 입력 형식: KMFBase64 - Base64 인코딩 * 기본 출력 형식: KMFNone - 디코딩 없음 * 기본 출력 유형: 부울 {#KMFCO-KMFCryptoOperation_S_S__ul_cvk_gtj_wnb} * SYMMETRIC_ENCRYPTION: 대칭 키 알고리즘을 사용한 데이터 암호화입니다. 알고리즘이 동등 유지가 아닌 경우 형식이 지정된 출력만 허용됩니다. 대칭 데이터 암호화/암호 해독 암호화 목적이 있는 KMF 암호화 모듈이 필요합니다. * 추가 작성기 메서드: 없음 * 기본 입력 형식: KMFBase64 - Base64 인코딩 * 기본 출력 형식: 형식 지정됨 - KMF 사양에 따라 형식이 지정됨 * 기본 출력 유형: 문자열 {#KMFCO-KMFCryptoOperation_S_S__ul_vg3_ryb_wnb} * SYMMETRIC_DECRYPTION: 대칭 키 알고리즘을 사용한 데이터 암호 해독입니다. 알고리즘이 동일성 유지가 아닌 경우 KMFBase64 입력이 허용됩니다. 대칭 데이터 암호화/암호 해독 암호화 목적이 있는 KMF 암호화 모듈이 필요합니다. * 추가 작성기 메서드: 없음 * 기본 입력 형식: 형식 지정됨 - KMF 사양에 따라 형식이 지정됨 * 기본 출력 형식: KMFBase64 - Base64 인코딩 * 기본 출력 유형: 문자열 {#KMFCO-KMFCryptoOperation_S_S__ul_mcx_2tj_wnb} * SYMMETRIC_WRAPPING: 대칭 키 알고리즘을 사용한 키 래핑입니다. 알고리즘이 동등 유지가 아닌 경우 형식이 지정된 출력만 허용됩니다. 대칭 키 래핑/래핑 해제 암호화 목적이 있는 KMF 암호화 모듈이 필요합니다. * 추가 작성기 메서드: withAlgorithm() 및 withSysId() * 기본 입력 형식: KMFBase64 - Base64 인코딩 * 기본 출력 형식: 형식 지정됨 - KMF 사양에 따라 형식이 지정됨 * 기본 출력 유형: 문자열 {#KMFCO-KMFCryptoOperation_S_S__ul_sz2_xyb_wnb} * SYMMETRIC_UNWRAPPING: 대칭 키 알고리즘을 사용하여 키 래핑 해제. 알고리즘이 동일성 유지가 아닌 경우 KMFBase64 입력이 허용됩니다. 대칭 키 래핑/래핑 해제 암호화 목적이 있는 KMF 암호화 모듈이 필요합니다. * 추가 작성기 메서드: withAlgorithm() * 기본 입력 형식: 형식 지정됨 - KMF 사양에 따라 형식이 지정됨 * 기본 출력 형식: KMFBase64 - Base64 인코딩 * 기본 출력 유형: 문자열 {#KMFCO-KMFCryptoOperation_S_S__ul_yh4_tyb_wnb} |
[표 1. 매개변수]

{#KMFCO-KMFCryptoOperation_S_S__table_mth_p3t_tnb}  
이 예시에서는 모듈 global.sj_cm의 KMFCryptoOperation 객체를 인스턴스화하여 대칭 암호화 작업을 수행합니다. 전역 및 범위가 지정된 애플리케이션 모두에 대한 네임스페이스를 포함해야 합니다.

    var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","SYMMETRIC_ENCRYPTION"); 

이 예시에서는 기본 출력 유형 및 출력 형식을 업데이트하는 옵션을 지정하는 방법을 보여줍니다.

    var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","SYMMETRIC_ENCRYPTION")
      .withOutputType("STRING").withOutputFormat("FORMATTED");

    var cipherText=op.doOperation("hi");

이 예시에서는 EC-IES(통합 암호화 체계)를 사용하여 비대칭 암호화 작업을 수행하는 방법을 보여줍니다. (예: )의 긴 값은 signature가독성을 위해 잘리고 타원으로 대체되었습니다.

    var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","ASYMMETRIC_ENCRYPTION")
    .withInputFormat("KMFNONE")
    .withOutputType("PAYLOAD");

    var cipherText = op.doOperation("hi");

    /*
    cipherText contains an object similar to this JSON: {
      "signature": "pkg...",
      "ephemeral_key": "BDi...",
      "ciphertext": "afFS..."
    }
    */

이 예에서는 EC-IES를 사용하여 비대칭 암호 해독 작업을 수행하는 방법을 보여줍니다.

    var op = new 
    sn_kmf_ns.KMFCryptoOperation("global.sj_cm","ASYMMETRIC_DECRYPTION")
      .withAdditionalInput({
      "signature": "pkg... ",
      "ephemeral_key": "BDi..."
    })
    .withOutputFormat("KMFNONE");

    var clearText = op.doOperation("afFS...");

이 예시에서는 JWT 서명을 생성하고 확인하는 방법을 보여줍니다.

                                                                                             
    // Validating from instance
       var moduleName = 'global.jwtimport'; // must have signature generation spec
       var header = '{ "alg": "P5512","typ": "JWT"}'; // your header JSON as a string
       var payload = '{"sub": "1234567890", "name": "John Doe", "admin": true, "iat": 1516239022)'; // your payload JSON as a string

    // SIGN
       var api = new sn_kmf_ns.KMFCryptoOperation(moduleName, "JWT_SIGN").withAdditionalInput(header);
       var token = api.doOperation(payload);
       gs.info("sign = " + token);



    // VERIFY
       api = new sn_kmf_ns.KMFCrypto0peration(moduleName, "JWT_VERIFY");
       var verifyoutput = api.doOperation(token);
       gs.info("verify = " + verifyOutput);

## KMFCryptoOperation - doOperation(객체 데이터) {#ariaid-title3}

제공된 데이터에 대해 현재 KMFCryptoOperation 객체로 정의된 암호화 작업을 수행하고 결과를 반환합니다.
{#KMFCO-doOperation_O__table_sh4_4sl_vnb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 데이터 | 객체 | 연관된 KMFCryptoOperation 객체에서 withSysId() 작성기 메서드가 이전에 호출된 경우를 제외하고 필수입니다. 암호화 작업을 수행할 입력 데이터입니다. |
[표 2. 매개변수]

{#KMFCO-doOperation_O__table_sh4_4sl_vnb} {#KMFCO-doOperation_O__table_th4_4sl_vnb__entry__2}

| 유형 | 설명 |
|-|-|
| 작업 유형에 따라 다릅니다. * MAC_VERIFICATION 및 SIGNATURE_VERIFICATION: 부울 * 기타: 문자열 {#KMFCO-doOperation_O__ul_dzf_jpj_wnb} | 연결된 KMFCryptoOperation 객체에 지정된 작업을 수행한 후의 데이터 결과입니다. |
[표 3. 반환]

{#KMFCO-doOperation_O__table_th4_4sl_vnb}  
이 예제에서는 doOperation() 을 사용하여 MAC을 생성합니다.

    var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","MAC_GENERATION"); 
    var data = "aGk="; 
    var mac = op.doOperation(data);

## KMFCryptoOperation - withAdditionalInput(객체 additionalInput) {#ariaid-title4}

암호화 작업을 수행하는 데 필요한 추가 입력을 설정합니다.
예를 들어 메시지 인증 코드(MAC) 검증 중에 이 방법을 사용하여 생성된 MAC 태그를 전달합니다. 마찬가지로 서명 확인 중에 서명을 전달하는 데 사용합니다. EC-IES(타원 곡선 통합 암호화 체계)와 같은 통합 암호로 비대칭 작업을 수행할 때 이 메서드를 사용하여 추가 데이터인 KMFEncryptionPayload 객체를 전달할 수도 있습니다.  
주:  
추가 입력은 현재 KMFCryptoOperation 오브젝트에 설정된 것과 동일한 형식일 필요는 없습니다. {#KMFCO-withAddInput_S__table_exs_fhl_vnb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 추가 입력 | 문자열 또는 객체 | 선택 사항(EC-IES를 사용할 때 비대칭 암호 해독 작업은 제외)입니다. KMFCryptoOperation 개체에 지정된 암호화 작업을 수행하는 데 필요한 추가 입력 데이터입니다. 지원되는 문자열 형식: * 형식 있음: 키 관리 프레임워크(KMF) 사양에 따라 형식이 지정되었습니다. * KMFBASE64: Base64 인코딩. {#KMFCO-withAddInput_S__ul_pyr_sml_vnb} KMFEncryptionPayload 객체 형식:{#KMFCO-withAddInput_S__KMFEncryptionPayload} { "ciphertext": String, "derivation_secret": String, "ephemeral_key": String, "ephemeral_key_format": String, "signature": String } |
| additionalInput.ciphertext | 문자열(Base64) | 비대칭 암호 해독에 필요하며 다른 모든 작업의 경우 선택 사항입니다. 유효한 값은 다음과 같습니다. * RSA 알고리즘을 사용하는 경우: RSA 암호 텍스트 * EC-IES 알고리즘을 사용하는 경우: 통합 AES 암호 텍스트 출력 유형이 로 설정된 payload경우 비대칭 암호화 작업에서 사용할 수 있습니다. |
| additionalInput.derivation_secret | 문자열(Base64) | 선택 사항이며 EC-IES를 사용하여 비대칭 암호화 또는 비대칭 암호 해독 작업에만 사용됩니다. 통합 체계의 키 파생 프로세스 중에 사용할 공유 암호입니다. |
| additionalInput.ephemeral_key | 문자열(Base64) | EC-IES를 사용할 때 비대칭 암호 해독 작업에 필요하며 다른 모든 작업의 경우 선택 사항입니다. 통합 체계의 기본 합의 프로세스 중에 사용할 임시 공개 키입니다. 출력 유형이 로 설정된 payload경우 비대칭 암호화 작업에서 사용할 수 있습니다. |
| additionalInput.ephemeral_key_format | 문자열 | 선택 사항이며 EC-IES를 사용하여 비대칭 암호화 또는 비대칭 암호 해독 작업에만 사용됩니다. 매개변수로 표시되는 공개 키의 형식을 재정의합니다 ephemeral_key . 유효한 값은 다음과 같습니다. * x962 * der {#KMFCO-withAddInput_S__ul_kyp_vrg_1qb} |
| additionalInput.signature | 문자열(Base64) | EC-IES를 사용하는 비대칭 암호 해독 작업에 필요하며 다른 모든 작업은 선택 사항입니다. 통합 체계의 서명 검증 프로세스를 사용하여 확인할 암호 텍스트의 서명입니다. 출력 유형이 로 설정된 payload경우 비대칭 암호화 작업에서 사용할 수 있습니다. |
[표 4. 매개변수]

{#KMFCO-withAddInput_S__table_exs_fhl_vnb} {#KMFCO-withAddInput_S__table_fxs_fhl_vnb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 5. 반환]

{#KMFCO-withAddInput_S__table_fxs_fhl_vnb}  
이 예제에서는 withAdditionalInput() 을 사용하여 KMFCryptoOperation 개체에 문자열 기반 서명을 추가합니다.

    var signature = "John Doe";
    var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","SIGNATURE_VERIFICATION")
      .withAdditionalInput(signature);

    var value = GlideStringUtil.base64Encode("Text to encode"); // Default input format is KMFBase64
    var result = op.doOperation(String(value));

이 예제에서는 withAdditionalInput() 을 사용하여 KMFCryptoOperation 개체에 서명 및 임시 키를 추가합니다. doOperation() 호출 및 payload 설명에 있는 값과 같은 긴 값은 가독성을 위해 잘리고 줄임표로 대체되었습니다.

    var payload = new sn_kmf_ns.KMFEncryptionPayload();
    payload.signature = "pkg...";
    payload.ephemeral_key = " BDi...";
    payload.ephemeral_key_format = "x962";

    var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","ASYMMETRIC_DECRYPTION")
      .withAdditionalInput(payload)
      .doOperation("afFS...";

## KMFCryptoOperation - withAlgorithm(문자열 알고리즘) {#ariaid-title5}

줄 바꿈할 키 재료와 연결된 알고리즘을 설정합니다.
{#KMFCO-withAlgorithm_S__table_kx1_r4l_vnb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 알고리즘 | 문자열 | 사용할 알고리즘입니다. 유효한 값은 다음과 같습니다. * AES: 대칭 키 유형 * EC: 비대칭 키 유형 * HMAC: 대칭 키 유형 * RSA: 비대칭 키 유형 |
[표 6. 매개변수]

{#KMFCO-withAlgorithm_S__table_kx1_r4l_vnb} {#KMFCO-withAlgorithm_S__table_lx1_r4l_vnb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 7. 반환]

{#KMFCO-withAlgorithm_S__table_lx1_r4l_vnb}  
이 예제에서는 withAlgorithm() 을 사용하여 EC에 사용되는 암호화 알고리즘을 변경합니다.

    var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","ASYMMETRIC_WRAPPING").withAlgorithm("EC");
    var value = GlideStringUtil.base64Encode("Sample key"); // Default input format is KMFBase64
    var result = op.doOperation(String(value));

## KMFCryptoOperation - withInputFormat(String inputFormat) {#ariaid-title6}

암호화 작업이 수행될 입력 데이터의 데이터 형식을 설정합니다. 데이터를 디코딩할 때 지정된 형식을 사용합니다.
{#KMFCO-withInputFormat_S__table_lvd_kxk_vnb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| inputFormat | 문자열 | 입력 데이터의 형식입니다. 유효한 값은 다음과 같습니다. * 형식 있음: 키 관리 프레임워크(KMF) 사양에 따라 형식이 지정되었습니다. * KMFBASE64: Base64 인코딩. * KMF_GLIDE_ENCRYPTER_FORMATTED: KMF 암호화 값과 GlideEncrypter 암호화 값의 암호 해독을 지원합니다. * KMFNONE: 인코딩이 없습니다. 기본값: KMFCryptoOperation 객체가 인스턴스화될 때 지정된 작업에 의해 결정되는 값입니다. 자세한 내용은 [KMFCryptoOperation - KMFCryptoOperation(String cryptoModuleName, String operationName)](https://servicenow-prod.fluidtopics.net/pr5Lusy8dj9oEHRQk_ViEw#KMFCO-KMFCryptoOperation_S_S "지정된 모듈 및 운영에 대한 KMFCryptoOperation 객체를 작성합니다.") 문서를 참조하십시오. |
[표 8. 매개변수]

{#KMFCO-withInputFormat_S__table_lvd_kxk_vnb} {#KMFCO-withInputFormat_S__table_mvd_kxk_vnb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 9. 반환]

{#KMFCO-withInputFormat_S__table_mvd_kxk_vnb}  
이 예제에서는 withInputFormat() 을 사용하여 인코딩이 없도록 입력 형식을 변경합니다.

    var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","SYMMETRIC_ENCRYPTION").withInputFormat("KMFNone");
    var result = op.doOperation("Text with no encoding"); // Pass in unencrypted String

이 예제에서는 withInputFormat() 을 사용하여 입력 형식을 KMF_GLIDE_ENCRYPTER_FORMATTED로 변경합니다.

    var encryptOp = new sn_kmf_ns.KMFCryptoOperation("<module_name>", "SYMMETRIC_DECRYPTION")
     .withInputFormat("KMF_GLIDE_ENCRYPTER_FORMATTED")
     .withOutputFormat("KMFNone"); 

    var clear_text = encryptOp.doOperation(<encrypted_text>);

## KMFCryptoOperation - withOutputFormat(문자열 outputFormat) {#ariaid-title7}

암호화 작업으로 반환되는 출력 데이터의 데이터 형식을 설정합니다. 데이터를 인코딩할 때 지정된 형식을 사용합니다.
{#KMFCO-withOutputFormat_S__table_ezl_gdl_vnb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| outputFormat | 문자열 | 출력 데이터의 형식입니다. 유효한 값은 다음과 같습니다. * 형식 있음: 키 관리 프레임워크(KMF) 사양에 따라 형식이 지정되었습니다. * KMFBASE64: Base64 인코딩. * KMFNONE: 디코딩 없음. MAC_VERIFICATION 및 SIGNATURE_VERIFICATION용으로만 지원됩니다. 이 메서드가 호출되지 않는 경우의 기본값: KMFCryptoOperation 개체가 인스턴스화될 때 지정된 작업에 의해 결정되는 값입니다. 자세한 내용은 [KMFCryptoOperation - KMFCryptoOperation(String cryptoModuleName, String operationName)](https://servicenow-prod.fluidtopics.net/pr5Lusy8dj9oEHRQk_ViEw#KMFCO-KMFCryptoOperation_S_S "지정된 모듈 및 운영에 대한 KMFCryptoOperation 객체를 작성합니다.") 문서를 참조하십시오. |
[표 10. 매개변수]

{#KMFCO-withOutputFormat_S__table_ezl_gdl_vnb} {#KMFCO-withOutputFormat_S__table_fzl_gdl_vnb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 11. 반환]

{#KMFCO-withOutputFormat_S__table_fzl_gdl_vnb}  
이 예제에서는 withOutputFormat() 을 사용하여 암호 해독의 출력 형식을 KMFNone(기본값은 KMFBase64)으로 설정합니다.

    var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","SYMMETRIC_DECRYPTION").withOutputFormat("KMFNone");
    var clear_data = op.doOperation(<FORMATTED_data>); // Pass in default of FORMATTED data

## KMFCryptoOperation - withOutputType(String outputType) {#ariaid-title8}

암호화 작업이 수행된 후 반환되는 출력 데이터의 데이터 유형을 설정합니다.
주:  
또는 SIGNATURE_VERIFICATION 작업을 위해 MAC_VERIFICATION KMFCryptoOperation 개체를 인스턴스화할 때 부울을 전달하여 이 메서드도 호출하여 올바른 출력 형식을 설정해야 하며, 그렇지 않으면 작업을 실행할 때 예외가 발생합니다. {#KMFCO-withOutputType_S__table_h5z_31l_vnb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 출력 유형 | 문자열 | 출력 데이터의 유형입니다. 모든 출력 유형이 모든 작업에 적용되는 것은 아닙니다. 지원되지 않는 형식의 경우 예외가 발생합니다. 유효한 값(대/소문자 구분 안 함): * 문자열: OR SIGNATURE_VERIFICATION 운영에 유효 MAC_VERIFICATION 하지 않습니다. * 부울: OR SIGNATURE_VERIFICATION 작업에만 유효합니다.MAC_VERIFICATION * 페이로드: 해당 운영에만 유효합니다 ASYMMETRIC_ENCRYPTION . EC-IES에 이 출력 유형을 사용합니다. 주: <kbd class="ph userinput">페이로드</kbd>의 출력을 지정할 때 doOperation() 메서드의 출력은 KMFEncryptionPayload 객체입니다. 이 객체의 구조에 대한 자세한 내용은 [withAdditionalInput()](https://servicenow-prod.fluidtopics.net/pr5Lusy8dj9oEHRQk_ViEw#KMFCO-withAddInput_S__KMFEncryptionPayload)을 참조하십시오. 기본값: KMFCryptoOperation 객체가 인스턴스화될 때 지정된 작업에 의해 결정된 값입니다. 자세한 내용은 [KMFCryptoOperation - KMFCryptoOperation(String cryptoModuleName, String operationName)](https://servicenow-prod.fluidtopics.net/pr5Lusy8dj9oEHRQk_ViEw#KMFCO-KMFCryptoOperation_S_S "지정된 모듈 및 운영에 대한 KMFCryptoOperation 객체를 작성합니다.") 문서를 참조하십시오. |
[표 12. 매개변수]

{#KMFCO-withOutputType_S__table_h5z_31l_vnb} {#KMFCO-withOutputType_S__table_i5z_31l_vnb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 13. 반환]

{#KMFCO-withOutputType_S__table_i5z_31l_vnb}  
이 예제에서는 withOutputType() 을 사용하여 MAC_VERIFICATION의 출력 유형을 부울로 설정합니다.

    var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","MAC_VERIFICATION")
      .withOutputType("Boolean").withAdditionalInput(<MAC>);
    var value = GlideStringUtil.base64Encode("Text to sign"); // Default input type is KMFBase64
    var result = op.doOperation(String(value));

## KMFCryptoOperation - withSysId(문자열 sysId) {#ariaid-title9}

KMFCryptoOperation 객체에 래핑할 키의 sys_id 설정합니다. 키의 대칭 및 비대칭 래핑에 적용할 수 있습니다.
{#KMFCO-withSysId_S__table_ymp_jnl_vnb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| sysId | 문자열 | 래핑할 키의 Sys_id입니다. 테이블: 모듈 키 \[sys_kmf_module_key\] |
[표 14. 매개변수]

{#KMFCO-withSysId_S__table_ymp_jnl_vnb} {#KMFCO-withSysId_S__table_zmp_jnl_vnb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 15. 반환]

{#KMFCO-withSysId_S__table_zmp_jnl_vnb}  
이 예제에서는 withSysId() 를 사용하여 래핑할 키를 정의합니다.

    var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","SYMMETRIC_WRAPPING").withSysId("0d06ce525b231010f86d1b341d81c777");
    var wrappedKey = operation.doOperation(); // No need to pass data when using withSysId()


