2011-08-17 38 views
7

Tôi đang sử dụng TCPDF để ký PDF, nhưng khi chạy example 52 tôi đã nhận lỗi này:Cảnh báo: openssl_pkcs7_sign() [function.openssl-pkcs7-sign]: lỗi nhận khóa cá nhân trong C: xampp htdocs this tcpdf tcpdf.php trên dòng 8366

Warning: openssl_pkcs7_sign() [function.openssl-pkcs7-sign]: error getting 
private key in C:\xampp\htdocs\this\tcpdf\tcpdf.php on line 8366 

Ông có thể vui lòng cho tôi hoặc hướng dẫn cho tôi mà là vấn đề. Tôi chỉ đang chạy ví dụ mà không thay đổi bất cứ điều gì. Tôi đang sử dụng xampp.

Trả lời

4

Sự cố xảy ra với vị trí từ nơi nó cố gắng truy cập khóa riêng tư. Thay vì '' như trong ví dụ của họ sử dụng 'file: //'. (Dirname (FILE)). './Path/to/file'. Điều này làm việc cho tôi.

3

Tôi giải quyết nó bằng cách sử dụng:

$certificate = 'file://'.realpath('../tcpdf.crt'); 

Khi bạn tạo chứng chỉ của bạn sử dụng riêng này:

/* 
NOTES: 
- To create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt 
- To export crt to p12: openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12 
- To convert pfx certificate to pem: openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes 
*/ 
0

Cuối cùng, sau nhiều tuần trước, tôi đã tìm thấy giải pháp. Tôi chỉ donwloaded phiên bản TCPDF 5.9 và nó hoạt động: D nếu bạn muốn thử, đây là liên kết để tải phiên bản đó

liên kết: https://sourceforge.net/code-snapshots/git/u/u/u/mynetx/tcpdf.git/u-mynetx-tcpdf-5828c0d80580cbad069988e2067ad5e37e1e98e7.zip

+0

Ông có thể vui lòng cho biết thêm thông tin và không chỉ là một liên kết? – abarisone

+0

Đây là khi các 'Cảnh báo: openssl_pkcs7_sign(): lỗi nhận được khóa riêng trong ....' lỗi xảy ra. Tôi đã có vài tuần trước để cố gắng giải quyết nó, và hôm qua tôi chỉ cần tải về một phiên bản TCPDF cũ (5.9) và cuối cùng nó hoạt động. Tôi chỉ muốn chia sẻ giải pháp. –