//************************************************************************************* // 파일명 : sg_util.js // 작성자 : 안재형 // 최초 작성일 : 2003년 7월 21일 // 최종 수정자 : 안재형 // 최종 수정일 : 2005년 10월 18일 //************************************************************************************* function getMacAddress(keyID) { if(keyID == null || keyID == "") { setErrorCode( "NO_USER_ID" ); setErrorMessage( "" ); setErrorFunctionName( "getMacAddress()" ); return ""; } var macAddress = GetMacAddress( keyID ); if ("" == macAddress) { setErrorCode( "" ); setErrorMessage( GetLastErrMsg() ); setErrorFunctionName( "getMacAddress()" ); return ""; } return macAddress; } function getMacAddress2(keyID, format) { if(keyID == null || keyID == "") { setErrorCode( "NO_USER_ID" ); setErrorMessage( "" ); setErrorFunctionName( "getMacAddress2()" ); return ""; } var macAddress = GetMacAddress2(keyID, format); if ("" == macAddress) { setErrorCode( "" ); setErrorMessage( GetLastErrMsg() ); setErrorFunctionName( "getMacAddress2()" ); return ""; } return macAddress; } function getIPAddress2(keyID, format) { if(keyID == null || keyID == "") { setErrorCode( "NO_USER_ID" ); setErrorMessage( "" ); setErrorFunctionName( "getIPAddress2()" ); return ""; } var ipAddress = GetIPInfo2(keyID, format); if ("" == ipAddress) { setErrorCode( "" ); setErrorMessage( GetLastErrMsg() ); setErrorFunctionName( "getIPAddress2()" ); return ""; } return ipAddress; } function getHDDSerial2(keyID, format) { if(keyID == null || keyID == "") { setErrorCode( "NO_USER_ID" ); setErrorMessage( "" ); setErrorFunctionName( "getHDDSerial2()" ); return ""; } var hddSerial = GetStorageSerial2(keyID, format); if ("" == hddSerial) { setErrorCode( "" ); setErrorMessage( GetLastErrMsg() ); setErrorFunctionName( "getHDDSerial2()" ); return ""; } return hddSerial; } //************************************************************************************* // 이름 : removeCRLF() // 인자 : str - 데이터 스트링 // 반환값 : '\r'과 '\n'이 제거된 데이터 스트링 // 기능 : 데이터 스트링으로부터 '\r'과 '\n'을 제거하여 반환한다 //************************************************************************************* function removeCRLF( str ) { var i = 0; var buf = ""; for( i = 0; i < str.length; i++ ) { if ( str.charAt(i) != '\n' && str.charAt(i) != '\r' ) { buf += str.charAt(i); } } return buf; } //************************************************************************************* // 이름 : getLocalPath() // 인자 : strFileName - 파일의 상대 경로 // 반환값 : 성공 - 파일의 절대 경로 // 실패 - "" // 기능 : 로컬 파일 시스템에 저장된 HTML파일에서 // 다른 파일의 상대 경로를 절대 경로로 바꾸어 준다 //************************************************************************************* function getLocalPath( strFileName ) { var strLocalPath = ""; var pos = 0; var i = 0; if ( strFileName == null || strFileName == "" ) { setErrorCode("NO_DATA_VALUE"); setErrorMessage( "" ); return ""; } var buf = location.href.substring( 0, 8 ); if ( buf != "file:///" ) { setErrorCode( "NOT_LOCAL_FILE" ); setErrorMessage( "" ); return ""; } buf = location.href.substring( 8, location.href.length ); for ( i = 0; i < buf.length; i++ ) { if ( buf.charAt(i) == "/" ) { strLocalPath += "\\"; pos = strLocalPath.length; } else if ( buf.charAt(i) == "%" && buf.charAt(i+1) == "2" && buf.charAt(i+2) == "0" ) { strLocalPath += " "; i += 2; } else { strLocalPath += buf.charAt(i); } } strLocalPath = strLocalPath.substring( 0, pos ) + strFileName; return strLocalPath; } //************************************************************************************* // 이름 : insertLFtoPEMCert() // 인자 : strCert - '\n' 문자를 제거한 PEM 형식 인증서 // 반환값 : 성공 - '\n'이 포함된 PEM 형식 인증서 // 실패 - "" // 기능 : '\n'을 제거한 PEM 형식 인증서에 '\n'을 다시 추가한다 //************************************************************************************* function insertLFtoPEMCert( strCert ) { if ( strCert == null || strCert == "" ) { setErrorCode("NO_DATA_VALUE"); setErrorMessage( "" ); setErrorFunctionName( "insertLFtoPEMCert()" ); return ""; } var pemHeader = "-----BEGIN CERTIFICATE-----"; var pemTrailer = "-----END CERTIFICATE-----"; var buf = removeCRLF( strCert ); var i = 0; var nCount = 0; for ( i = 0; i < pemHeader.length; i++ ) { if ( pemHeader.charAt( i ) == buf.charAt( i ) ) { nCount = nCount + 1; } } if ( nCount != pemHeader.length ) { setErrorCode("NOT_PEM_CERT"); setErrorMessage( "" ); setErrorFunctionName( "insertLFtoPEMCert()" ); return ""; } nCount = 0; for ( i = 0; i < pemTrailer.length; i++ ) { if ( pemTrailer.charAt( i ) == buf.charAt( buf.length - pemTrailer.length + i ) ) { nCount = nCount + 1; } } if ( nCount != pemTrailer.length ) { setErrorCode("NOT_PEM_CERT"); setErrorMessage( "" ); setErrorFunctionName( "insertLFtoPEMCert()" ); return ""; } var strPEMCert = ""; nCount = 0; for ( i = 0; i < buf.length - pemHeader.length - pemTrailer.length; i++ ) { strPEMCert += buf.charAt( i + pemHeader.length ); nCount = nCount + 1; if ( nCount == 64 ) { strPEMCert += '\n'; nCount = 0; } } strPEMCert = pemHeader + "\n" + strPEMCert + "\n" + pemTrailer; return strPEMCert; } ////////////////////// /// 사라질 함수들.... function fileCopy( inFilePath, outFilePath ) { if ( inFilePath == null || inFilePath == "" ) { setErrorCode("NO_DATA_VALUE"); setErrorMessage( "" ); return ""; } if ( outFilePath == null || outFilePath == "" ) { setErrorCode("NO_DATA_VALUE"); setErrorMessage( "" ); return ""; } var strResult = FileCopy(inFilePath, outFilePath); if ( strResult == null || strResult == "" ) { setErrorCode(""); setErrorMessage( GetLastErrMsg() ); setErrorFunctionName( "fileCopy()" ); return ""; } return strResult; } function fileRead( inFilePath, TypeFlag ) { if ( inFilePath == null || inFilePath == "" ) { setErrorCode("NO_DATA_VALUE"); setErrorMessage( "" ); return ""; } var strResult = FileRead(inFilePath, TypeFlag); if ( strResult == null || strResult == "" ) { setErrorCode(""); setErrorMessage( GetLastErrMsg() ); setErrorFunctionName( "fileRead()" ); return ""; } return strResult; } function fileRename(inFilePath, outFilePath ) { if ( inFilePath == null || inFilePath == "" ) { setErrorCode("NO_DATA_VALUE"); setErrorMessage( "" ); return ""; } if ( outFilePath == null || outFilePath == "" ) { setErrorCode("NO_DATA_VALUE"); setErrorMessage( "" ); return ""; } var strResult = FileRename(inFilePath, outFilePath); if ( strResult == null || strResult == "" ) { setErrorCode(""); setErrorMessage( GetLastErrMsg() ); setErrorFunctionName( "fileRename()" ); return ""; } return strResult; } function fileChange(inFilePath, outFilePath ) { if ( inFilePath == null || inFilePath == "" ) { setErrorCode("NO_DATA_VALUE"); setErrorMessage( "" ); return ""; } if ( outFilePath == null || outFilePath == "" ) { setErrorCode("NO_DATA_VALUE"); setErrorMessage( "" ); return ""; } var strResult = FileChange(inFilePath, outFilePath); if ( strResult == null || strResult == "" ) { setErrorCode(""); setErrorMessage( GetLastErrMsg() ); setErrorFunctionName( "fileChange()" ); return ""; } return strResult; } function makeDir(inFilePath) { if ( inFilePath == null || inFilePath == "" ) { setErrorCode("NO_DATA_VALUE"); setErrorMessage( "" ); return ""; } var strResult = MakeDir(inFilePath); if ( strResult == null || strResult == "" ) { setErrorCode(""); setErrorMessage( GetLastErrMsg() ); setErrorFunctionName( "makeDir()" ); return ""; } return strResult; } function setHashAlgOfCryptoApi(HashAlg) { strHashAlg = HashAlg; return; } function setEncryptAlgOfCryptoApi(EncryptAlg) { strEncryptAlg = EncryptAlg; return; } function setEncryptKeyLenOfCryptoApi(EncryptKeyLen) { szEncryptKeyLen = EncryptKeyLen; return; } function setMsgDigestAlgofApi(MsgDigestAlg) { strMsgDigestAlg = MsgDigestAlg; return; }