Excel 파일이 디지털 서명되었는지 확인하고 Java의 Excel에서 디지털 서명 확인
소개
Excel 파일로 작업할 때 개발자는 서명 확인 또는 다른 서명 속성 읽기와 같은 추가 조작을 수행하기 위해 서명된 파일을 메서드로 보낼 수 있도록 서명된 파일을 서명되지 않은 파일과 분리해야 하는 상황에 직면할 수 있습니다. 서명 시간 및 서명을 만드는 데 사용된 인증서와 같은 것입니다.
이러한 경우 이 문서에서는 Excel 파일이 디지털 서명되었는지 확인하고 Spire.XLS for Java 라이브러리를 사용하여 Java에서 Excel의 디지털 서명을 확인하는 방법을 보여줍니다.
종속성 추가
우선 Java 라이브러리용 Spire.XLS를 Java 프로젝트에 포함하는 데 필요한 종속성을 추가해야 합니다. official website에서 라이브러리의 jar를 다운로드하거나 Maven 기반 프로젝트의 pom.xml 파일에 다음 코드를 추가하여 Maven에서 설치할 수 있습니다.
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>4.11.3</version>
</dependency>
</dependencies>
디지털 서명 확인 및 확인
다음은 Excel 파일에서 디지털 서명을 확인하고 확인하는 주요 단계입니다.
다음은 기본 코드 샘플입니다.
import com.spire.xls.Workbook;
import com.spire.xls.core.interfaces.IDigitalSignature;
import com.spire.xls.core.interfaces.IDigitalSignatures;
import java.security.cert.CertificateExpiredException;
import java.security.cert.CertificateNotYetValidException;
import java.security.cert.X509Certificate;
public class CheckAndVerifySignature {
public static void main(String []args){
//Create a Workbook instance
Workbook workbook = new Workbook();
//Load an Excel file
workbook.loadFromFile("Signature.xlsx");
//Check if the file is digitally signed
boolean isSigned = workbook.isDigitallySigned();
System.out.println("Is the file digitally signed? " + isSigned);
if(isSigned) {
//Get the digital signatures
IDigitalSignatures signatures = workbook.getDigitalSignatures();
//Traverse through the signatures
for (IDigitalSignature signature : (Iterable<IDigitalSignature>) signatures) {
//Verify the current signature
boolean signatureIsValid = signature.isValid();
//Get the certificate of the signature
X509Certificate certificate = signature.getX509Certificate();
//Verify the certificate
boolean certificateIsValid = true;
try {
certificate.checkValidity();
} catch (CertificateExpiredException e) {
certificateIsValid = false;
} catch (CertificateNotYetValidException e) {
certificateIsValid = false;
}
System.out.println("Is the signature valid? " + signatureIsValid);
System.out.println("Is the certificate valid? " + certificateIsValid);
}
}
workbook.dispose();
}
}
산출:
또한보십시오:
Add and Delete Digital Signature in Excel in Java
Reference
이 문제에 관하여(Excel 파일이 디지털 서명되었는지 확인하고 Java의 Excel에서 디지털 서명 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/eiceblue/check-if-an-excel-file-is-digitally-signed-and-verify-digital-signatures-in-excel-in-java-5do4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)