pkcs # 7 및 bouncycastle을 사용하여 텍스트 및 zip 파일에 서명하고 확인하는 프로그램이 있습니다. 로그인 한 후 완벽하게 내 텍스트 파일을 확인할 수pkcs # 7 및 bouncyCastle in java를 사용하여 zip 파일에 서명 할 수 없습니다.
String finalmsg="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>\n" +
"<Envelope>\n" +" <OrgContent>"+new String(Base64.encode(contentbytes))+"</OrgContent>\n"+" <Signature>"+new String(Base64.encode(signedBytes))+"</Signature>\n"+" <Certificate>"+
new String(Base64.encode(keyStore.getCertificate("CertName").getEncoded()))+"</Certificate>\n"+"</Envelope>";
암 : (원본 데이터, SignedBytes 및 인증서 데이터를 base64로 인코딩을 포함) 텍스트 및 우편 파일 모두에 다음 문자열을 쓰고 있어요.
if(file.getName().contains(".zip")) {
byte[] b = finalmsg.getBytes(StandardCharsets.UTF_8);
try (BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(address+"SIGVERFILES/s2/"+name), 4096)) {
out.write(b);
}
} else {
FileWriter fw = new FileWriter(address+"SIGVERFILES/s2/"+name,true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(finalmsg);
bw.close();
}
: 또한 내 zip 파일을 확인할 수 있어요하지만 zip 파일을 추출 할 수 없습니다 나는 코드가 파일로 내 서명 된 메시지를 작성하는 사용하고있다 아래
(zip 파일 오류의 예기치 않은 끝을 얻고있다)
다른 사용자가 서명 한 zip 파일도 성공적으로 확인하고 압축을 풀 수 있습니다. 그래서 내 인증 코드는 괜찮습니다. Zip 파일을 쓰는 방법에 문제가 있다고 생각합니다. 들여 쓰기를 신경 쓰지 마시고 제가 여기서 뭘 잘못하고 있는지 알아 보도록 도와주십시오.
더 이상 코드 스 니펫이 필요한지 알려주세요.