본문으로 건너뛰기

22) DS/AIP 보안문서 평문화

DS 보안문서 / AIP 암호화 문서 / AIP+DS 이중 암호화 문서를 복호화 하여 평문화

API

MethodURL
POST/api/internal/entireDecrypt

Request Header

NameRequiredDescription
Authorizationrequired사용자 인증 수단, JWT값
Authorization: Bearer {JWT}
참고 : JWT값은 인증/인가 서비스를 통해 발급 받는다.

Request Body

NameRequiredTypeDescription
companyIdrequiredstring대상 문서를 사용하는 회사ID(회사 별 키 데이터 조회 시 사용)
srcFilePathrequiredstring원본 보안 문서 경로
dstFilePathrequiredstring복호화된 일반 문서 경로
extraInfooptionalstringJSON 형식의 추가 정보 입력(아래의 extraInfo 데이터 설명표 및 샘플 데이터 참고)
extraInfo 데이터 설명표
KeyRequiredTypeDescription
sourcerequiredjson
namerequiredstring호출 시스템 이름
fromrequiredstring호출 시스템 URL
userjson
idstring사용자 아이디
namestring사용자 이름
departstring사용자 전체 부서 (상위그룹/중위그룹/하위그룹)
dutystring사용자 직책 이름
  • 샘플 데이터
{
"source": {
"name": "EKMS",
"from": "https://devekms.softcamp.co.kr"
},
"user": {
"id": "ekmsTest@softcamp.co.kr",
"name": "ekmsTest",
"depart": "임직원/연구소/개발실/개발1팀",
"duty": "과장"
}
}

Response

NameTypeDescription
codeint0 : 성공
-36 : 일반 문서
이외의 값 : 에러
messagestring"OK" : 성공
"This document is not encrypted." : 일반 문서
이외의 값 에러 메시지

Examples

Request

  • Body
{
"companyId": "gNzvLhk8-cVXfQ41A-FSfFVW0m-w4yc4M00",
"srcFilePath" : "/opt/shieldrm/data/protectEnc.xlsx",
"dstFilePath" : "/opt/shieldrm/decUnprotect.xlsx",
"extraInfo": "{\"source\":{\"name\":\"EKMS\",\"from\":\"https://devekms.softcamp.co.kr\"}}"
}

Response

  • 성공
{
"code": 0,
"message" : "OK"
}

[일반 문서]
{
"code": -36,
"message": "This document is not encrypted."
}
  • 실패
  • SDF 컨테이너 에러
  • Status code : 500 INTERNAL_SERVER_ERROR
{
"code": 50001,
"message": "/opt/shieldrm/data/protectEnc.pptx (No such file or directory)"
}

[토큰 검증 실패]
{
"code": 50001,
"message": "{\"code\":40101,\"message\":\"Invalid token\",\"detail\":\"invalid_token\"}"
}

[AIP SDK 에러]
{
"code": 60001,
"message": "com.microsoft.informationprotection.internal.gen.Error: NoAuthTokenError: Client application failed to provide authentication token for HTTP request., CorrelationId=a2d2f6b1-4265-482b-bc7d-18c88f8284bd, CorrelationId.Description=PolicyProfile"
}

[내부 서비스 에러]
{
"code": 50001,
"message": "400 : \"{\"code\":40011,\"message\":\"Unable to AzureInfo\",\"detail\":\"OpenidTenant is Empty\"}\""
}