Skip to main content

4) 보안문서 복호화

보안 문서를 일반 문서로 복호화

API

MethodURL
POST/api/decryption

Request Body

NameRequiredTypeDescription
licenseKeyrequiredstringSHIELDRM 관리자 페이지의 연동 앱 관리 메뉴에서 발급 받은 라이선스 입력
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 : 성공
0 이외의 값 : 에러
messagestring"OK" : 성공
이외의 값 에러 메시지

Examples

Request

  • Body
{
"licenseKey": "FEFF-0C448-B1D8-A1A9A",
"srcFilePath" : "/opt/shieldrm/data/test.xlsx",
"dstFilePath" : "/opt/shieldrm/dataout_test.xlsx",
"extraInfo": "{\"source\":{\"name\":\"EKMS\",\"from\":\"https://devekms.softcamp.co.kr\"}}"
}

Response

  • 성공
{
"code": 0,
"message" : "OK"
}
  • 실패
  • SDF 컨테이너 에러
  • Status code : 500 INTERNAL_SERVER_ERROR
{
"code": 50001,
"message": "/opt/shieldrm/data/test.pptx (No such file or directory)"
}
  • SDF 컨테이너 모듈(SCSL) 에러
  • Status code : 500 INTERNAL_SERVER_ERROR
{
"code": -61,
"message" : "EXCEPTION error"
}
[토큰 검증 실패]
{
"code": 50001,
"message": "{\"code\":40101,\"message\":\"Invalid token\",\"detail\":\"invalid_token\"}"
}

[KMS 연결 실패]
{
"code": 50001,
"message": "An unexpected error has occurred in the internal system",
"detail": "I/O error on GET request for \"https://devkms.softcamp.co.kr:8080/drm/7FDKQsEK-QVGKyXA2-fx1LxIzy-SNIre0s9/key/0000003\": Connect to devkms.softcamp.co.kr:8080 [devkms.softcamp.co.kr/10.14.10.171] failed: Connection timed out: connect; nested exception is org.apache.http.conn.HttpHostConnectException: Connect to devkms.softcamp.co.kr:8080 [devkms.softcamp.co.kr/10.14.10.171] failed: Connection timed out: connect"
}

[KMS 키조회 실패]
{
"code": 40013,
"message": "Key not found in the keyVault",
"detail": "keyId : DDTCODE601"
}
  • SKMS 모듈(SCKE) 에러
  • Status code : 500 INTERNAL_SERVER_ERROR
{
"code": 40003,
"message": "Failed create header",
"detail": "4020"
}

API 내부에서 호출하는 SKMS API 및 SCSL 함수정리

호출 순서API 및 함수명
1SKMS JWT 발급 API 호출 : /api/oauth/token
2SKMS 헤더키 조회 API 호출 : /api/docu/headerKey
3SCSL 복호화 함수 호출 : CloudAPIDecrypt()
4헤더키 조회 API 호출 : /api/docu/headerKey
5SCSL 헤더정보 조회 함수 호출 : dsGetFullHeaderEx()
6통합로그 전송 API 호출 : /log/container-linker