Truy cập và xác minh chữ ký trong tài liệu Word

Giới thiệu

Xin chào, những người đam mê công nghệ! Bạn đã bao giờ thấy mình trong tình huống cần truy cập và xác minh chữ ký số trong tài liệu Word nhưng không biết bắt đầu từ đâu chưa? Vâng, bạn thật may mắn! Hôm nay, chúng ta sẽ khám phá thế giới tuyệt vời của Aspose.Words dành cho .NET, một thư viện mạnh mẽ giúp xử lý tài liệu Word trở nên dễ dàng. Chúng tôi sẽ hướng dẫn bạn từng bước trong quy trình, vì vậy, khi hoàn thành hướng dẫn này, bạn sẽ trở thành chuyên gia trong việc xác minh chữ ký số trong tài liệu Word. Hãy bắt đầu thôi!

Điều kiện tiên quyết

Trước khi đi sâu vào các chi tiết cụ thể, bạn cần phải chuẩn bị một số thứ sau:

  1. Visual Studio: Đảm bảo bạn đã cài đặt Visual Studio trên máy của mình. Đây là nơi bạn sẽ viết và chạy mã của mình.
  2. Aspose.Words cho .NET: Bạn sẽ cần phải cài đặt Aspose.Words cho .NET. Bạn có thể tải xuốngđây . Đừng quên nhận bản dùng thử miễn phíđây nếu bạn chưa làm!
  3. Tài liệu Word được ký số: Có một tài liệu Word đã được ký số. Đây là tệp bạn sẽ sử dụng để xác minh chữ ký.

Nhập không gian tên

Trước tiên, hãy nhập các không gian tên cần thiết. Các không gian tên này sẽ cho phép bạn sử dụng các tính năng Aspose.Words trong dự án của mình.

using System;
using Aspose.Words;
using Aspose.Words.DigitalSignatures;

Được rồi, chúng ta hãy chia nhỏ thành các bước dễ quản lý. Mỗi bước sẽ hướng dẫn bạn qua một phần cụ thể của quy trình. Sẵn sàng chưa? Bắt đầu thôi!

Bước 1: Thiết lập dự án của bạn

Trước khi bạn có thể xác minh chữ ký số, bạn cần thiết lập dự án của mình trong Visual Studio. Sau đây là cách thực hiện:

Tạo một dự án mới

  1. Mở Visual Studio.
  2. Nhấp vào Tạo dự án mới.
  3. Chọn Console App (.NET Core) hoặc Console App (.NET Framework), tùy theo sở thích của bạn.
  4. Nhấp vào Tiếp theo, đặt tên cho dự án và nhấp vào Tạo.

Cài đặt Aspose.Words cho .NET

  1. Trong Solution Explorer, nhấp chuột phải vào tên dự án của bạn và chọn Quản lý gói NuGet.
  2. Trong Trình quản lý gói NuGet, hãy tìm Aspose.Words.
  3. Nhấp vào Cài đặt để thêm vào dự án của bạn.

Bước 2: Tải Tài liệu Word đã ký số

Bây giờ dự án của bạn đã được thiết lập, hãy tải tài liệu Word đã được ký số lên.

// Đường dẫn đến thư mục tài liệu.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Digitally signed.docx");

Thay thế"YOUR DOCUMENT DIRECTORY" với đường dẫn thực tế đến thư mục tài liệu của bạn. Đoạn mã này khởi tạo mộtDocument đối tượng và tải tài liệu Word đã ký của bạn.

Bước 3: Truy cập chữ ký số

Sau khi tải xong tài liệu, đã đến lúc truy cập chữ ký số.

foreach (DigitalSignature signature in doc.DigitalSignatures)
{
    Console.WriteLine("* Signature Found *");
    Console.WriteLine("Is valid: " + signature.IsValid);
    Console.WriteLine("Reason for signing: " + signature.Comments); 
    Console.WriteLine("Time of signing: " + signature.SignTime);
    Console.WriteLine("Subject name: " + signature.CertificateHolder.Certificate.SubjectName.Name);
    Console.WriteLine("Issuer name: " + signature.CertificateHolder.Certificate.IssuerName.Name);
    Console.WriteLine();
}

Mã này lặp qua từng chữ ký số trong tài liệu và in ra nhiều chi tiết khác nhau về chữ ký. Hãy cùng phân tích từng phần thực hiện những gì:

  1. Đã tìm thấy chữ ký: Chỉ ra rằng chữ ký đã được tìm thấy.
  2. Có hợp lệ: Kiểm tra xem chữ ký có hợp lệ không.
  3. Lý do ký: Hiển thị lý do ký, nếu có.
  4. Thời gian ký: Hiển thị dấu thời gian khi tài liệu được ký.
  5. Tên chủ đề: Lấy tên chủ đề từ chứng chỉ.
  6. Tên đơn vị phát hành: Lấy tên đơn vị phát hành từ chứng chỉ.

Bước 4: Chạy mã của bạn

Khi mọi thứ đã được thiết lập xong, đã đến lúc chạy mã và xem kết quả.

  1. Nhấn F5 hoặc nhấp vào nút Bắt đầu trong Visual Studio để chạy chương trình của bạn.
  2. Nếu tài liệu của bạn được ký kỹ thuật số, bạn sẽ thấy thông tin chi tiết về chữ ký được in trong bảng điều khiển.

Bước 5: Xử lý các lỗi tiềm ẩn

Luôn là một ý tưởng hay khi xử lý bất kỳ lỗi tiềm ẩn nào có thể xảy ra. Hãy thêm một số cách xử lý lỗi cơ bản vào mã của chúng ta.

try
{
    // Đường dẫn đến thư mục tài liệu.
    string dataDir = "YOUR DOCUMENT DIRECTORY";
    Document doc = new Document(dataDir + "Digitally signed.docx");

    foreach (DigitalSignature signature in doc.DigitalSignatures)
    {
        Console.WriteLine("* Signature Found *");
        Console.WriteLine("Is valid: " + signature.IsValid);
        Console.WriteLine("Reason for signing: " + signature.Comments); 
        Console.WriteLine("Time of signing: " + signature.SignTime);
        Console.WriteLine("Subject name: " + signature.CertificateHolder.Certificate.SubjectName.Name);
        Console.WriteLine("Issuer name: " + signature.CertificateHolder.Certificate.IssuerName.Name);
        Console.WriteLine();
    }
}
catch (Exception ex)
{
    Console.WriteLine("An error occurred: " + ex.Message);
}

Lệnh này sẽ phát hiện mọi trường hợp ngoại lệ có thể xảy ra và in ra thông báo lỗi.

Phần kết luận

Và bạn đã có nó! Bạn đã truy cập và xác minh thành công chữ ký số trong tài liệu Word bằng Aspose.Words cho .NET. Không khó như bạn nghĩ, phải không? Với các bước này, bạn có thể tự tin xử lý chữ ký số trong tài liệu Word của mình, đảm bảo tính xác thực và toàn vẹn của chúng. Chúc bạn viết mã vui vẻ!

Câu hỏi thường gặp

Tôi có thể sử dụng Aspose.Words cho .NET để thêm chữ ký số vào tài liệu Word không?

Có, bạn có thể sử dụng Aspose.Words cho .NET để thêm chữ ký số vào tài liệu Word. Thư viện cung cấp các tính năng toàn diện cho cả việc thêm và xác minh chữ ký số.

Aspose.Words for .NET có thể xác minh những loại chữ ký số nào?

Aspose.Words cho .NET có thể xác minh chữ ký số trong các tệp DOCX sử dụng chứng chỉ X.509.

Aspose.Words for .NET có tương thích với tất cả các phiên bản Microsoft Word không?

Aspose.Words for .NET hỗ trợ tất cả các phiên bản tài liệu Microsoft Word, bao gồm DOC, DOCX, RTF, v.v.

Làm thế nào để tôi có được giấy phép tạm thời cho Aspose.Words dành cho .NET?

Bạn có thể nhận được giấy phép tạm thời cho Aspose.Words cho .NET từđây. Điều này cho phép bạn dùng thử đầy đủ các tính năng của thư viện mà không có bất kỳ hạn chế nào.

Tôi có thể tìm thêm tài liệu về Aspose.Words cho .NET ở đâu?

Bạn có thể tìm thấy tài liệu chi tiết về Aspose.Words cho .NETđây.