PKCS # 7 không bao gồm phần riêng tư (khóa) của cặp chứng chỉ / khóa riêng, nó thường được sử dụng để phổ biến chứng chỉ (ví dụ như phản hồi cho yêu cầu chứng chỉ PKCS # 10, như một phương tiện để phân phối S / MIME certs được sử dụng để mã hóa tin nhắn hoặc để xác thực các tin nhắn đã ký, v.v.). Điều quan trọng cần nhớ là nó chỉ dành cho các chứng chỉ theo định nghĩa các mục công khai.
PKCS # 12 là một thùng chứa phổ quát hơn - nó được dự định để lưu trữ cả khóa riêng và các bộ phận chứng chỉ chung với nhau để chúng có thể được di chuyển xung quanh. Nó có khả năng được bảo vệ bằng mật khẩu để cung cấp một số bảo vệ cho các phím.
PFX là tiền thân của PKCS # 12.
Bạn không thể (như Anitak chỉ ra) chuyển đổi từ PKCS # 7 sang PKCS # 12 mà không có dữ liệu bổ sung (phần khóa riêng) vì PKCS # 7 không có tất cả dữ liệu.
Mark Sutton đã chỉ ra lý do tại sao bạn không thể xuất dưới dạng PFX - chứng chỉ được đề cập có khóa riêng được gắn cờ là không thể xuất. Nhà cung cấp dịch vụ mật mã (CSP) sẽ không cho phép khóa đó được di chuyển, đây là cố ý. Cách * duy nhất bạn có thể nhận được cặp khóa cert \ có thể xuất là nếu Chứng chỉ gốc được cấp với bộ cờ có thể xuất được. Cũng có thể không có khóa riêng liên quan đến chứng chỉ nhưng tôi cho rằng đó không phải là trường hợp ở đây.
Có một bản tóm tắt tốt về các loại PKCS khác nhau trên Wikipedia .
- Cách duy nhất hợp pháp ít nhất. Tùy thuộc vào Phần cứng CSP \ Crypto, có thể có các cơ chế, đặc biệt là đối với phần mềm chỉ có CSP, nhưng đó là lĩnh vực nghiên cứu lỗ hổng bảo mật chỉ khi tôi quan tâm chứ không phải quản trị viên hệ thống.