Lệnh certutil trong Windows

Certutil.exe là một chương trình dòng lệnh được cài đặt như một phần của Certificate Services. Bạn có thể sử dụng Certutil.exe để kết xuất và hiển thị thông tin cấu hình CA, cấu hình Certificate Services, sao lưu và khôi phục lại các thành phần CA, xác minh chứng chỉ, cặp khóa và chuỗi chứng chỉ.

Khi lệnh certutil được chạy bởi một CA mà không có các tham số bổ sung, nó sẽ hiển thị cấu hình CA hiện tại. Khi lệnh certutil được chạy trên một CA không được chứng nhận, lệnh mặc định để chạy là certutil -ump.

Cảnh báo

Các phiên bản trước của lệnh certutil có thể không cung cấp tất cả các tùy chọn được mô tả trong tài liệu này. Bạn có thể thấy tất cả các tùy chọn mà một phiên bản cụ thể của lệnh certutil cung cấp bằng cách chạy các lệnh được hiển thị trong phần "Ký hiệu cú pháp".

Động từ đi kèm lệnh certutil

Bảng sau đây mô tả các động từ có thể được sử dụng với lệnh certutil.

Động từMô tả
-dumpKết xuất file hoặc thông tin cấu hình
-asnPhân tích cú pháp file ASN.1
-decodehexGiải mã file được mã hóa thập lục phân
-decodeGiải mã file được mã hóa Base64
-encodeMã hóa một file thành Base64
-denyTừ chối yêu cầu chứng chỉ đang chờ xử lý
-resubmitGửi lại yêu cầu chứng chỉ đang chờ xử lý
-setattributesĐặt thuộc tính cho yêu cầu chứng chỉ đang chờ xử lý
-setextensionĐặt phần mở rộng cho yêu cầu chứng chỉ đang chờ xử lý
-revokeThu hồi chứng chỉ
-isvalidHiển thị bố cục của chứng chỉ hiện tại
-getconfigNhận chuỗi cấu hình mặc định
-pingCố gắng liên hệ với giao diện Active Directory Certificate Services Request
-pingadminCố gắng liên hệ với giao diện Active Directory Certificate Services Admin
-CAInfoHiển thị thông tin về cơ quan cấp giấy chứng nhận
-ca.certTruy xuất chứng chỉ cho cơ quan cấp giấy chứng nhận
-ca.chainTruy xuất chuỗi chứng chỉ cho cơ quan cấp giấy chứng nhận
-GetCRLNhận danh sách thu hồi chứng chỉ (CRL)
-CRLXuất danh sách thu hồi chứng chỉ mới (CRL) [hoặc chỉ CRL delta]
-shutdownTắt Active Directory Certificate Services
-installCertCài đặt chứng chỉ CA
-renewCertGia hạn chứng chỉ CA
-schemaKết xuất giản đồ cho chứng chỉ
-viewKết xuất chế độ xem chứng chỉ
-dbKết xuất cơ sở dữ liệu thô
-deleterowXóa một hàng khỏi cơ sở dữ liệu máy chủ
-backupSao lưu Active Directory Certificate Services
-backupDBSao lưu cơ sở dữ liệu Active Directory Certificate Services
-backupKeySao lưu chứng chỉ và private key cho Active Directory Certificate Services
-restoreKhôi phục Active Directory Certificate Services
-restoreDBKhôi phục cơ sở dữ liệu Active Directory Certificate Services
-restoreKeyKhôi phục chứng chỉ và private key cho Active Directory Certificate Services
-importPFXNhập chứng chỉ và private key
-dynamicfilelistHiển thị danh sách file động
-databaselocationsHiển thị vị trí cơ sở dữ liệu
-hashfileTạo và hiển thị hash mật mã trên một file
-storeKết xuất kho chứng chỉ
-addstoreThêm chứng chỉ vào kho lưu trữ
-delstoreXóa chứng chỉ khỏi kho lưu trữ
-verifystoreXác minh chứng chỉ trong kho lưu trữ
-repairstoreSửa chữa một liên kết key hoặc cập nhật các thuộc tính chứng chỉ hay trình mô tả bảo mật quan trọng
-viewstoreKết xuất kho chứng chỉ
-viewdelstoreXóa chứng chỉ khỏi kho lưu trữ
-dsPublishXuất chứng chỉ hoặc danh sách thu hồi chứng chỉ (CRL) vào Active Directory
-ADTemplateHiển thị các AD template
-TemplateHiển thị các template cho chứng chỉ
-TemplateCAsHiển thị cơ quan cấp chứng chỉ (CA) cho một template chứng chỉ
-CATemplatesHiển thị các template cho CA
-SetCASitesQuản lý tên trang web cho các CA
-enrollmentServerURLHiển thị, thêm hoặc xóa URL máy chủ đăng ký được kết hợp với CA
-ADCAHiển thị các AD CA
-CAHiển thị chính sách đăng ký CA
-PolicyHiển thị chính sách đăng ký
-PolicyCacheHiển thị hoặc xóa các mục nhập Enrollment Policy Cache
-CredStoreHiển thị, thêm hoặc xóa các mục nhập Credential Store
-InstallDefaultTemplatesCài đặt các template chứng chỉ mặc định
-URLCacheHiển thị hoặc xóa mục nhập bộ nhớ cache URL
-pulseTạo xung cho các sự kiện đăng ký tự động
-MachineInfoHiển thị thông tin về đối tượng máy Active Directory
-DCInfoHiển thị thông tin về domain controller
-EntInfoHiển thị thông tin về CA doanh nghiệp
-TCAInfoHiển thị thông tin về CA
-SCInfoHiển thị thông tin về smart card
-SCRootsQuản lý chứng chỉ gốc cho smart card
-verifykeysXác minh một bộ public hoặc private key
-verifyXác minh chứng chỉ, danh sách thu hồi chứng chỉ (CRL) hoặc chuỗi chứng chỉ
-verifyCTLXác minh chứng chỉ AuthRoot hoặc chứng chỉ không được phép CTL
-signĐăng ký lại danh sách thu hồi chứng chỉ (CRL) hoặc chứng chỉ
-vrootTạo hoặc xóa root ảo và file chia sẻ trên web
-vocsprootTạo hoặc xóa các root ảo trên web cho một proxy web OCSP
-addEnrollmentServerThêm một ứng dụng Enrollment Server
-deleteEnrollmentServerXóa một ứng dụng Enrollment Server
-addPolicyServerThêm một ứng dụng Policy Server
-deletePolicyServerXóa một ứng dụng Policy Server
-oidHiển thị mã định danh đối tượng hoặc đặt tên hiển thị
-errorHiển thị thông báo bằng văn bản được liên kết với error code mã lỗi
-getregHiển thị giá trị đăng ký
-setregĐặt giá trị đăng ký
-delregXóa giá trị đăng ký
-ImportKMSNhập key và chứng chỉ người dùng vào cơ sở dữ liệu máy chủ để lưu trữ key
-ImportCertNhập file chứng chỉ vào cơ sở dữ liệu
-GetKeyTruy xuất blob khôi phục private key đã lưu trữ
-RecoverKeyKhôi phục private key đã lưu trữ
-MergePFXHợp nhất các file PFX
-ConvertEPFChuyển đổi file PFX thành file EPF
-?Hiển thị danh sách các động từ
-<verb> -?Hiển thị trợ giúp cho động từ được chỉ định
-? -vHiển thị danh sách đầy đủ các động từ

Ký tự cú pháp

Đối với cú pháp dòng lệnh cơ bản, hãy chạy:

certutil -?

Đối với cú pháp sử dụng lệnh certutil với một động từ cụ thể, hãy chạy:

certutil <verb> -?

Để gửi tất cả cú pháp lệnh certutil vào một file văn bản, hãy chạy các lệnh sau:

certutil -v -? > certutilhelp.txt
notepad certutilhelp.txt

Bảng sau mô tả ký hiệu được sử dụng để chỉ ra cú pháp dòng lệnh.

Ký hiệuMô tả
Văn bản không có dấu ngoặc nhọn hoặc ngoặc vuôngCác mục bạn phải nhập như được hiển thị
<Văn bản bên trong dấu ngoặc nhọn>Placeholder mà bạn phải cung cấp giá trị
[Văn bản bên trong dấu ngoặc vuông]Các mục tùy chọn
{Văn bản bên trong dấu ngoặc}Chọn một trong các mục yêu cầu
Thanh dọc (|)Dấu phân tách cho các mục loại trừ lẫn nhau (chọn một trong số các mục)
Dấu ba chấm (…)Các mục có thể được lặp lại

-dump

CertUtil [Options] [-dump]

CertUtil [Options] [-dump] File

Kết xuất file hoặc thông tin cấu hình:

[-f] [-silent] [-split] [-p Password] [-t Timeout]

-asn

CertUtil [Options] -asn File [type]

Phân tích cú pháp file ASN.1

type: numeric CRYPT_STRING_* decoding type

-decodehex

CertUtil [Options] -decodehex InFile OutFile [type]

type: numeric CRYPT_STRING_* encoding type

[-f]

-decode

CertUtil [Options] -decode InFile OutFile

Giải mã file được mã hóa Base64:

[-f]

-encode

CertUtil [Options] -encode InFile OutFile

Mã hóa file thành Base64:

[-f] [-UnicodeText]

-deny

CertUtil [Options] -deny RequestId

Từ chối yêu cầu đang chờ xử lý:

[-config Machine\CAName]

-resubmit

CertUtil [Options] -resubmit RequestId

Gửi lại yêu cầu đang chờ xử lý:

[-config Machine\CAName]

-setattributes

CertUtil [Options] -setattributes RequestId AttributeString

Đặt thuộc tính cho yêu cầu đang chờ xử lý.

RequestId - Số Request Id của yêu cầu đang chờ xử lý

AttributeString - Tên thuộc tính và cặp giá trị của Request Attribute

  • Tên và giá trị được phân cách bằng dấu hai chấm.
  • Nhiều cặp tên, giá trị được tách biệt bằng các dòng riêng biệt.
  • Ví dụ: "CertificateTemplate:User\nEMail:User@Domain.com"
  • Mỗi chuỗi "\n" được chuyển đổi thành một dấu tách dòng mới.
[-config Machine\CAName]

-setextension

CertUtil [Options] -setextension RequestId ExtensionName Flags {Long | Date | String | @InFile}

Đặt phần mở rộng cho yêu cầu đang chờ xử lý.

  • RequestId - Số Request Id của yêu cầu đang chờ xử lý
  • ExtensionName - Chuỗi ObjectId của phần mở rộng
  • Flags - 0 là số được khuyến nghị, 1 là phần mở rộng quan trọng, 2 vô hiệu hóa nó, 3 làm cả hai nhiệm vụ.
  • Nếu tham số cuối cùng là số, nó được gọi là một Long.
  • Nếu nó có thể được phân tích cú pháp như một date, nó được gọi là một Date.
  • Nếu nó bắt đầu bằng '@', phần còn lại của mã thông báo (token) là tên file có chứa dữ liệu nhị phân hoặc kết xuất ascii-text hex.
  • Bất cứ điều gì khác đều được gọi là một String.
[-config Machine\CAName]

-revoke

CertUtil [Options] -revoke SerialNumber [Reason]

Thu hồi chứng chỉ.

SerialNumber: Danh sách các số sê-ri chứng chỉ được phân tách bằng dấu phẩy để thu hồi.

Reason: Lý do thu hồi bằng số hoặc biểu tượng.

  • 0: CRL_REASON_UNSPECIFIED: Không xác định (mặc định)
  • 1: CRL_REASON_KEY_COMPROMISE: Thỏa hiệp key
  • 2: CRL_REASON_CA_COMPROMISE: Thỏa hiệp CA
  • 3: CRL_REASON_AFFILIATION_CHANGED: Đã thay đổi liên kết
  • 4: CRL_REASON_SUPERSEDED: Đã thay thế
  • 5: CRL_REASON_CESSATION_OF_OPERATION: Ngừng hoạt động
  • 6: CRL_REASON_CERTIFICATE_HOLD: Giữ chứng chỉ
  • 8: CRL_REASON_REMOVE_FROM_CRL: Xóa khỏi CRL
  • -1: Unrevoke: Không thu hồi
[-config Machine\CAName]

-isvalid

CertUtil [Options] -isvalid SerialNumber | CertHash

Hiển thị bố cục chứng chỉ hiện tại.

[-config Machine\CAName]

-getconfig

CertUtil [Options] -getconfig

Nhận chuỗi cấu hình mặc định.

[-config Machine\CAName]

-ping

CertUtil [Options] -ping [MaxSecondsToWait | CAMachineList]

Cố gắng liên hệ với giao diện Active Directory Certificate Services Request

CAMachineList - Danh sách tên máy CA được phân tách bằng dấu phẩy

  1. Nếu chỉ có một máy, hãy sử dụng dấu phẩy để kết thúc.
  2. Hiển thị chi phí trang web cho mỗi máy CA.
[-config Machine\CAName]

-CAInfo

CertUtil [Options] -CAInfo [InfoName [Index | ErrorCode]]

Hiển thị thông tin CA.

InfoName - Cho biết thuộc tính CA để hiển thị (xem bên dưới). Sử dụng "*" cho tất cả các thuộc tính.

Index - Chỉ mục thuộc tính không dựa trên tùy chọn.

ErrorCode - Số error code

[-f] [-split] [-config Machine\CAName]

Cú pháp đối số InfoName:

  • file: Phiên bản file
  • product: Phiên bản sản phẩm
  • exitcount: Thoát khỏi tác vụ đếm mô-đun
  • exit [Index]: Thoát khỏi phần mô tả mô-đun
  • policy: Mô tả mô-đun policy
  • name: Tên CA
  • sanitizedname: Tên viết tắt của CA
  • dsname: Tên viết tắt của CA (tên DS)
  • sharedfolder: Thư mục được chia sẻ
  • error1 ErrorCode: Văn bản thông báo lỗi
  • error2 ErrorCode: Mã lỗi và văn bản thông báo lỗi
  • type: Loại CA
  • info: Thông tin CA
  • parent: CA gốc
  • certcount: Số chứng chỉ CA
  • xchgcount: Số lượng trao đổi CA
  • kracount: Số lượng chứng chỉ KRA
  • kraused: Số lượng chứng chỉ KRA đã sử dụng
  • propidmax: CA PropId tối đa
  • certstate [Index]: Chứng chỉ CA
  • certversion [Index]: Phiên bản chứng chỉ CA
  • certstatuscode [Index]: Trạng thái xác minh chứng chỉ CA
  • crlstate [Index]: CRL
  • krastate [Index]: Chứng chỉ KRA
  • crossstate+ [Index]: Chứng chỉ chuyển chéo
  • crossstate- [Index]: Chứng chỉ chuyển chéo ngược
  • cert [Index]: Chứng chỉ CA
  • certchain [Index]: Chuỗi chứng chỉ CA
  • certcrlchain [Index]: Chuỗi chứng chỉ CA với các CRL
  • xchg [Index]: Chứng chỉ trao đổi CA
  • xchgchain [Index]: Chuỗi chứng chỉ trao đổi CA
  • xchgcrlchain [Index]: Chuỗi chứng chỉ trao đổi CA với các CRL
  • kra [Index]: Chứng chỉ KRA
  • cross+ [Index]: Chứng chỉ chuyển chéo
  • cross- [Index]: Chứng chỉ chuyển chéo ngược
  • CRL [Index]: CRL cơ sở
  • deltacrl [Index]: CRL delta
  • crlstatus [Index]: Trạng thái xuất CRL
  • deltacrlstatus [Index]: Trạng thái xuất CRL delta
  • dns: Tên DNS
  • role: Phân tách vai trò
  • ads: Máy chủ nâng cao
  • templates: Template
  • ocsp [Index]: Các URL OCSP
  • aia [Index]: Các URL AIA
  • cdp [Index]: Các URL CDP
  • localename: Tên CA cục bộ
  • subjecttemplateoids: Các OID template chủ đề

-ca.cert

CertUtil [Options] -ca.cert OutCACertFile [Index]

Truy xuất chứng chỉ của CA.

OutCACertFile: File đầu ra.

Index: Chỉ mục gia hạn chứng chỉ CA (mặc định là gần đây nhất).

[-f] [-split] [-config Machine\CAName]

-ca.chain

CertUtil [Options] -ca.chain OutCACertChainFile [Index]

Truy xuất chuỗi chứng chỉ của CA.

OutCACertChainFile: File đầu ra.

Index: Chỉ mục gia hạn chứng chỉ CA (mặc định là gần đây nhất).

[-f] [-split] [-config Machine\CAName]

-GetCRL

CertUtil [Options] -GetCRL OutFile [Index] [delta]

Nhận CRL.

Index: Chỉ mục CRL hoặc chỉ mục chính (mặc định là CRL cho key mới nhất).

delta: CRL delta (mặc định là CRL cơ bản).

[-f] [-split] [-config Machine\CAName]

-CRL

CertUtil [Options] -CRL [dd:hh | republish] [delta]

Xuất CRL mới [hoặc chỉ CRL delta].

dd:hh - thời hạn hiệu lực CRL mới theo ngày và giờ.

republish - xuất bản lại CRL gần đây nhất.

delta - chỉ CRL delta (mặc định là CRL cơ sở và delta).

[-split] [-config Machine\CAName]

-shutdown

CertUtil [Options] -shutdown

Tắt Active Directory Certificate Services.

[-config Machine\CAName]

-installCert

CertUtil [Options] -installCert [CACertFile]

Cài đặt chứng chỉ Certification Authority (CA).

[-f] [-silent] [-config Machine\CAName]

-renewCert

CertUtil [Options] -renewCert [ReuseKeys] [Machine\ParentCAName]

Gia hạn chứng chỉ CA.

Sử dụng -f để bỏ qua yêu cầu gia hạn chưa thanh toán và tạo yêu cầu mới.

[-f] [-silent] [-config Machine\CAName]

-schema

CertUtil [Options] -schema [Ext | Attrib | CRL]

Kết xuất Certificate Schema. Mặc định thành yêu cầu và bảng chứng chỉ.

Ext: Bảng mở rộng.

Attrib: Bảng thuộc tính.

CRL: Bảng CRL.

[-split] [-config Machine\CAName]

-view

CertUtil [Options] -view [Queue | Log | LogFail | Revoked | Ext | Attrib | CRL] [csv]

Kết xuất Certificate View

  • Queue: Hàng đợi yêu cầu
  • Log: Chứng chỉ được cấp hoặc thu hồi, cộng với yêu cầu không thành công
  • LogFail: Yêu cầu không thành công
  • Revoked: Chứng chỉ bị thu hồi
  • Ext: Bảng mở rộng
  • Attrib: Bảng thuộc tính
  • CRL: Bảng CRL
  • csv: Đầu ra dưới dạng giá trị được phân tách bằng dấu phẩy

Hiển thị cột StatusCode cho tất cả các mục:

-out StatusCode

Hiển thị tất cả các cột cho mục nhập cuối cùng:

-restrict "RequestId==$"

Để hiển thị RequestIdDisposition cho ba yêu cầu:

-restrict "RequestId>=37,RequestId<40" -out "RequestId,Disposition"

Để hiển thị các Row IdCRL Number cho tất cả các CRL cơ sở:

-restrict "CRLMinBase=0" -out "CRLRowId,CRLNumber" CRL

Để hiển thị Base CRL Number 3:

-v -restrict "CRLMinBase=0,CRLNumber=3" -out "CRLRawCRL" CRL

Để hiển thị toàn bộ bảng CRL:

  • Sử dụng "Date[+|-dd:hh]" cho các giới hạn về ngày.
  • Sử dụng "now+dd:hh" cho một ngày liên quan đến thời gian hiện tại.
[-silent] [-split] [-config Machine\CAName] [-restrict RestrictionList] [-out ColumnList]

-db

CertUtil [Options] -db

Kết xuất cơ sở dữ liệu thô.

[-config Machine\CAName] [-restrict RestrictionList] [-out ColumnList]

-deleterow

CertUtil [Options] -deleterow RowId | Date [Request | Cert | Ext | Attrib | CRL]

Xóa hàng cơ sở dữ liệu máy chủ.

  • Request: Yêu cầu không thành công và đang chờ xử lý (ngày gửi)
  • Cert: Giấy chứng nhận hết hạn và bị thu hồi (ngày hết hạn)
  • Ext: Bảng mở rộng
  • Attrib: Bảng thuộc tính
  • CRL: Bảng CRL (ngày hết hạn)

Để xóa các yêu cầu không thành công và đang chờ xử lý được gửi trước ngày 22 tháng 1 năm 2001:

1/22/2001 Request

Để xóa tất cả chứng chỉ hết hạn trước ngày 22 tháng 1 năm 2001:

1/22/2001 Cert

Để xóa hàng chứng chỉ, thuộc tính và phần mở rộng cho RequestId 37:

37

Để xóa CRL đã hết hạn vào ngày 22 tháng 1 năm 2001:

1/22/2001 CRL
[-f] [-config Machine\CAName]

-backup

CertUtil [Options] -backup BackupDirectory [Incremental] [KeepLog]

Sao lưu Active Directory Certificate Services.

  • BackupDirectory: Thư mục để lưu trữ dữ liệu đã sao lưu
  • Incremental: Chỉ thực hiện sao lưu gia tăng (mặc định là sao lưu đầy đủ)
  • KeepLog: Giữ lại các file nhật ký cơ sở dữ liệu (mặc định là cắt bớt các file nhật ký)
[-f] [-config Machine\CAName] [-p Password]

-backupDB

CertUtil [Options] -backupDB BackupDirectory [Incremental] [KeepLog]

Sao lưu cơ sở dữ liệu Active Directory Certificate Services.

  • BackupDirectory: Thư mục để lưu trữ các file cơ sở dữ liệu được sao lưu
  • Incremental: Chỉ thực hiện sao lưu gia tăng (mặc định là sao lưu đầy đủ)
  • KeepLog: Giữ lại các file nhật ký cơ sở dữ liệu (mặc định là cắt bớt các file nhật ký
[-f] [-config Machine\CAName]

-backupKey

CertUtil [Options] -backupKey BackupDirectory

Sao lưu chứng chỉ và private key của Active Directory Certificate Services.

BackupDirectory: Thư mục để lưu trữ file PFX đã sao lưu.

[-f] [-config Machine\CAName] [-p Password] [-t Timeout]

-restore

CertUtil [Options] -restore BackupDirectory

Khôi phục Active Directory Certificate Services.

BackupDirectory: Thư mục chứa dữ liệu được khôi phục

[-f] [-config Machine\CAName] [-p Password]

-restoreDB

CertUtil [Options] -restoreDB BackupDirectory

Khôi phục cơ sở dữ liệu Active Directory Certificate Services.

BackupDirectory: Thư mục chứa các tệp cơ sở dữ liệu được khôi phục.

[-f] [-config Machine\CAName]

-restoreKey

CertUtil [Options] -restoreKey BackupDirectory | PFXFile

Khôi phục chứng chỉ và private key của Active Directory Certificate Services.

  • BackupDirectory: Thư mục chứa file PFX được khôi phục
  • PFXFile: File PFX được khôi phục
[-f] [-config Machine\CAName] [-p Password]

-importPFX

CertUtil [Options] -importPFX [CertificateStoreName] PFXFile [Modifiers]

Nhập chứng chỉ và private key.

CertificateStoreName: Tên kho chứng chỉ. Xem -store.

PFXFile: File PFX cần nhập

Modifiers: Danh sách được phân cách bằng dấu phẩy của một hoặc nhiều thông tin sau:

  1. AT_SIGNATURE: Thay đổi KeySpec thành Signature
  2. AT_KEYEXCHANGE: Thay đổi KeySpec thành Key Exchange
  3. NoExport: Đặt private key tahfnh không thể xuất
  4. NoCert: Không nhập chứng chỉ
  5. NoChain: Không nhập chuỗi chứng chỉ
  6. NoRoot: Không nhập chứng chỉ gốc
  7. Protect: Bảo vệ các key bằng mật khẩu
  8. NoProtect: Không bảo vệ các key bằng mật khẩu

Mặc định là lưu trữ trên máy tính cá nhân.

[-f] [-user] [-p Password] [-csp Provider]

-dynamicfilelist

CertUtil [Options] -dynamicfilelist

Hiển thị danh sách file động.

[-config Machine\CAName]

-databaselocations

CertUtil [Options] -databaselocations

Hiển thị vị trí cơ sở dữ liệu.

[-config Machine\CAName]

-hashfile

CertUtil [Options] -hashfile InFile [HashAlgorithm]

Tạo và hiển thị hash mật mã trên một file.

-store

CertUtil [Options] -store [CertificateStoreName [CertId [OutputFile]]]

Kết xuất kho lưu trữ chứng chỉ.

CertificateStoreName: Tên kho lưu trữ chứng chỉ. Ví dụ:

  • "My", "CA" (mặc định), "Root",
  • "ldap:///CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?one?objectClass=certificationAuthority" (Xem chứng chỉ gốc)
  • "ldap:///CN=CAName,CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?base?objectClass=certificationAuthority" (Thay đổi chứng chỉ gốc)
  • "ldap:///CN=CAName,CN=MachineName,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?certificateRevocationList?base?objectClass=cRLDistributionPoint" (Xem các CRL)
  • "ldap:///CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?base?objectClass=certificationAuthority" (Chứng chỉ CA doanh nghiệp)
  • ldap: (Chứng chỉ đối tượng máy tính AD)
  • -user ldap: (Chứng chỉ đối tượng người dùng AD)

CertId: Mã thông báo phù hợp với CRL hoặc chứng chỉ. Đây có thể là số sê-ri, chứng chỉ SHA-1, CRL, CTL hoặc hash public key, chỉ mục dạng số của chứng chỉ (0, 1, v.v...), chỉ mục CRL dạng số (.0, .1, v.v...), chỉ mục dạng số CTL (..0, ..1, v.v...), public key, chữ ký hoặc phần mở rộng ObjectId, tên thường dùng của chủ đề chứng chỉ, địa chỉ email, tên UPN hoặc DNS, tên key container hoặc tên CSP, tên template hoặc ObjectId, EKU hoặc các chính sách ứng dụng ObjectId, hay một tên công ty phát hành CRL. Có những trường hợp sẽ có nhiều hơn một kết quả phù hợp.

OutputFile: File để lưu chứng chỉ phù hợp

  • Sử dụng -user để truy cập kho lưu trữ của người dùng thay vì kho lưu trữ máy.
  • Sử dụng -enterprise để truy cập vào lưu trữ trên máy của doanh nghiệp.
  • Sử dụng -service để truy cập kho lưu trữ dịch vụ máy.
  • Sử dụng -grouppolicy để truy cập kho lưu trữ chính sách nhóm máy.

Ví dụ:

  • -enterprise NTAuth
  • -enterprise Root 37
  • -user My 26e0aaaf000000000004
  • CA .11
[-f] [-enterprise] [-user] [-GroupPolicy] [-silent] [-split] [-dc DCName]

-addstore

CertUtil [Options] -addstore CertificateStoreName InFile

Thêm chứng chỉ vào kho lưu trữ.

  • CertificateStoreName: Tên kho lưu trữ chứng chỉ. Xem -store.
  • InFile: Chứng chỉ hoặc file CRL để thêm vào kho lưu trữ.
[-f] [-enterprise] [-user] [-GroupPolicy] [-dc DCName]

-delstore

CertUtil [Options] -delstore CertificateStoreName CertId

Xóa chứng chỉ khỏi kho lưu trữ.

  • CertificateStoreName: Tên kho lưu trữ chứng chỉ. Xem -store.
  • CertId: Mã thông báo phù hợp với CRL hoặc chứng chỉ. Xem -store.
[-enterprise] [-user] [-GroupPolicy] [-dc DCName]

-verifystore

CertUtil [Options] -verifystore CertificateStoreName [CertId]

Xác minh chứng chỉ trong kho lưu trữ.

  • CertificateStoreName: Tên kho lưu trữ chứng chỉ. Xem -store.
  • CertId: Mã thông báo phù hợp với CRL hoặc chứng chỉ. Xem -store.
[-enterprise] [-user] [-GroupPolicy] [-silent] [-split] [-dc DCName] [-t Timeout]

-repairstore

CertUtil [Options] -repairstore CertificateStoreName CertIdList [PropertyInfFile | SDDLSecurityDescriptor]

Sửa chữa một liên kết key hoặc cập nhật các thuộc tính chứng chỉ hay trình mô tả bảo mật quan trọng.

  • CertificateStoreName: Tên kho lưu trữ chứng chỉ. Xem -store.
  • CertIdList: Danh sách mã thông báo phù hợp với CRL hoặc chứng chỉ, được phân tách bằng dấu phẩy. Xem phần mô tả -store CertId.
  • PropertyInfFile: File INF chứa các thuộc tính bên ngoài:
[Properties]
     19 = Empty ; Add archived property, OR:
     19 =       ; Remove archived property

     11 = "{text}Friendly Name" ; Add friendly name property

     127 = "{hex}" ; Add custom hexadecimal property
         _continue_ = "00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f"
         _continue_ = "10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f"

     2 = "{text}" ; Add Key Provider Information property
       _continue_ = "Container=Container Name&"
       _continue_ = "Provider=Microsoft Strong Cryptographic Provider&"
       _continue_ = "ProviderType=1&"
       _continue_ = "Flags=0&"
       _continue_ = "KeySpec=2"

     9 = "{text}" ; Add Enhanced Key Usage property
       _continue_ = "1.3.6.1.5.5.7.3.2,"
       _continue_ = "1.3.6.1.5.5.7.3.1,"
[-f] [-enterprise] [-user] [-GroupPolicy] [-silent] [-split] [-csp Provider]

-viewstore

CertUtil [Options] -viewstore [CertificateStoreName [CertId [OutputFile]]]

Kết xuất kho lưu trữ chứng chỉ.

CertificateStoreName: Tên kho lưu trữ chứng chỉ. Ví dụ:

  • "My", "CA" (mặc định), "Root",
  • "ldap:///CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?one?objectClass=certificationAuthority" (Xem chứng chỉ gốc)
  • "ldap:///CN=CAName,CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?base?objectClass=certificationAuthority" (Thay đổi chứng chỉ gốc)
  • "ldap:///CN=CAName,CN=MachineName,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?certificateRevocationList?base?objectClass=cRLDistributionPoint" (Xem các CRL)
  • "ldap:///CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?base?objectClass=certificationAuthority" (Chứng chỉ CA doanh nghiệp)
  • ldap: (Chứng chỉ đối tượng máy AD)
  • -user ldap: (Chứng chỉ đối tượng người dùng AD)

CertId: Mã thông báo phù hợp với CRL hoặc chứng chỉ. Đây có thể là số sê-ri, chứng chỉ SHA-1, CRL, CTL hoặc hash public key, chỉ mục dạng số của chứng chỉ (0, 1, v.v...), chỉ mục CRL dạng số (.0, .1, v.v...), chỉ mục dạng số CTL (..0, ..1, v.v...), public key, chữ ký hoặc phần mở rộng ObjectId, tên thường dùng của chủ đề chứng chỉ, địa chỉ email, tên UPN hoặc DNS, tên key container hoặc tên CSP, tên template hoặc ObjectId, EKU hoặc các chính sách ứng dụng ObjectId, hay một tên công ty phát hành CRL. Có những trường hợp sẽ có nhiều hơn một kết quả phù hợp.

OutputFile: File để lưu chứng chỉ phù hợp

  • Sử dụng -user để truy cập kho lưu trữ của người dùng thay vì kho lưu trữ máy.
  • Sử dụng -enterprise để truy cập vào lưu trữ trên máy của doanh nghiệp.
  • Sử dụng -service để truy cập kho lưu trữ dịch vụ máy.
  • Sử dụng -grouppolicy để truy cập kho lưu trữ chính sách nhóm máy.

Ví dụ:

  1. -enterprise NTAuth
  2. -enterprise Root 37
  3. -user My 26e0aaaf000000000004
  4. CA .11
[-f] [-enterprise] [-user] [-GroupPolicy] [-dc DCName]

-viewdelstore

CertUtil [Options] -viewdelstore [CertificateStoreName [CertId [OutputFile]]]

Xóa chứng chỉ khỏi kho lưu trữ.

CertificateStoreName: Tên kho lưu trữ chứng chỉ. Ví dụ:

  • "My", "CA" (mặc định), "Root",
  • "ldap:///CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?one?objectClass=certificationAuthority" (Xem chứng chỉ gốc)
  • "ldap:///CN=CAName,CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?base?objectClass=certificationAuthority" (Thay đổi chứng chỉ gốc)
  • "ldap:///CN=CAName,CN=MachineName,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?certificateRevocationList?base?objectClass=cRLDistributionPoint" (Xem các CRL)
  • "ldap:///CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?base?objectClass=certificationAuthority" (Chứng chỉ CA doanh nghiệp)
  • ldap: (Chứng chỉ đối tượng máy AD)
  • -user ldap: (Chứng chỉ đối tượng người dùng AD)

CertId: Mã thông báo phù hợp với CRL hoặc chứng chỉ. Đây có thể là số sê-ri, chứng chỉ SHA-1, CRL, CTL hoặc hash public key, chỉ mục dạng số của chứng chỉ (0, 1, v.v...), chỉ mục CRL dạng số (.0, .1, v.v...), chỉ mục dạng số CTL (..0, ..1, v.v...), public key, chữ ký hoặc phần mở rộng ObjectId, tên thường dùng của chủ đề chứng chỉ, địa chỉ email, tên UPN hoặc DNS, tên key container hoặc tên CSP, tên template hoặc ObjectId, EKU hoặc các chính sách ứng dụng ObjectId, hay một tên công ty phát hành CRL. Có những trường hợp sẽ có nhiều hơn một kết quả phù hợp.

OutputFile: File để lưu chứng chỉ phù hợp

  • Sử dụng -user để truy cập kho lưu trữ của người dùng thay vì kho lưu trữ máy.
  • Sử dụng -enterprise để truy cập vào lưu trữ trên máy của doanh nghiệp.
  • Sử dụng -service để truy cập kho lưu trữ dịch vụ máy.
  • Sử dụng -grouppolicy để truy cập kho lưu trữ chính sách nhóm máy.

Ví dụ:

  1. -enterprise NTAuth
  2. -enterprise Root 37
  3. -user My 26e0aaaf000000000004
  4. CA .11
[-f] [-enterprise] [-user] [-GroupPolicy] [-dc DCName]

-dsPublish

CertUtil [Options] -dsPublish CertFile [NTAuthCA | RootCA | SubCA | CrossCA | KRA | User | Machine]

CertUtil [Options] -dsPublish CRLFile [DSCDPContainer [DSCDPCN]]

Xuất chứng chỉ hoặc CRL vào Active Directory.

  • CertFile: File chứng chỉ để xuất bản
  • NTAuthCA: Xuất chứng chỉ vào kho lưu trữ DS Enterprise
  • RootCA: Xuất chứng chỉ vào kho lưu trữ DS Trusted Root
  • SubCA: Xuất bản chứng chỉ CA cho đối tượng DS CA
  • CrossCA: Xuất bản chứng chỉ chéo cho đối tượng DS CA
  • KRA: Xuất chứng chỉ cho đối tượng DS Key Recovery Agent
  • User: Xuất chứng chỉ cho đối tượng User DS
  • Machine: Xuất chứng chỉ cho đối tượng Machine DS
  • CRLFile: File CRL được xuất
  • DSCDPContainer: Container DS CDP CN, thường là tên máy CA
  • DSCDPCN: Đối tượng DS CDP CN, thường dựa trên tên ngắn gọn của CA và chỉ mục key

Sử dụng -f để tạo đối tượng DS.

[-f] [-user] [-dc DCName]

-ADTemplate

CertUtil [Options] -ADTemplate [Template]

Hiển thị các template AD.

[-f] [-user] [-ut] [-mt] [-dc DCName]

-Template

CertUtil [Options] -Template [Template]

Hiển thị các template Enrollment Policy.

[-f] [-user] [-silent] [-PolicyServer URLOrId] [-Anonymous] [-Kerberos] [-ClientCertificate ClientCertId] [-UserName UserName] [-p Password]

-TemplateCAs

CertUtil [Options] -TemplateCAs Template

Hiển thị các CA cho template.

[-f] [-user] [-dc DCName]

-CATemplates

CertUtil [Options] -CATemplates [Template]

Hiển thị template cho CA.

[-f] [-user] [-ut] [-mt] [-config Machine\CAName] [-dc DCName]

-SetCASites

CertUtil [Options] -SetCASites [set] [SiteName]

CertUtil [Options] -SetCASites verify [SiteName]

CertUtil [Options] -SetCASites delete

Đặt, xác minh hoặc xóa tên trang web CA:

  • Sử dụng tùy chọn -config để nhắm mục tiêu đến một CA duy nhất (Mặc định là tất cả các CA).
  • SiteName chỉ được phép khi nhắm mục tiêu đến một CA duy nhất.
  • Sử dụng -f để ghi đè các lỗi xác thực cho SiteName được chỉ định.
  • Sử dụng -f để xóa tất cả tên trang web CA.
[-f] [-config Machine\CAName] [-dc DCName]

-enrollmentServerURL

CertUtil [Options] -enrollmentServerURL [URL AuthenticationType [Priority] [Modifiers]]

CertUtil [Options] -enrollmentServerURL URL delete

Hiển thị, thêm hoặc xóa URL máy chủ đăng ký được kết hợp với CA.

AuthenticationType: Chỉ định một trong các phương thức xác thực ứng dụng khách sau khi thêm URL:

  1. Kerberos: Sử dụng thông tin đăng nhập Kerberos SSL
  2. UserName: Sử dụng tài khoản được đặt tên cho thông tin đăng nhập SSL
  3. ClientCertificate: Sử dụng thông tin đăng nhập X.509 Certificate SSL
  4. Anonymous: Sử dụng thông tin xác thực SSL ẩn danh

delete: Xóa URL được chỉ định liên kết với CA.

Priority: Mặc định là '1' nếu không được chỉ định khi thêm URL.

Modifiers: Danh sách được phân cách bằng dấu phẩy của một hoặc nhiều thông tin sau:

  1. AllowRenewalsOnly: Chỉ có thể gửi yêu cầu gia hạn tới CA này qua URL này.
  2. AllowKeyBasedRenewal: Cho phép sử dụng chứng chỉ không có tài khoản được liên kết trong AD. Điều này chỉ áp dụng với chế độ ClientCertificate và AllowRenewalsOnly.
[-config Machine\CAName] [-dc DCName]

-ADCA

CertUtil [Options] -ADCA [CAName]

Hiển thị các AD CA.

[-f] [-split] [-dc DCName]

-CA

CertUtil [Options] -CA [CAName | TemplateName]

Hiển thị các CA Enrollment Policy.

[-f] [-user] [-silent] [-split] [-PolicyServer URLOrId] [-Anonymous] [-Kerberos] [-ClientCertificate ClientCertId] [-UserName UserName] [-p Password]

-Policy

Hiển thị Enrollment Policy.

[-f] [-user] [-silent] [-split] [-PolicyServer URLOrId] [-Anonymous] [-Kerberos] [-ClientCertificate ClientCertId] [-UserName UserName] [-p Password]

-PolicyCache

CertUtil [Options] -PolicyCache [delete]

Hiển thị hoặc xóa các mục nhập Enrollment Policy Cache.

  • delete: Xóa các mục nhập Policy Server cache
  • -f: sử dụng -f để xóa tất cả các mục trong bộ nhớ cache
[-f] [-user] [-PolicyServer URLOrId]

-CredStore

CertUtil [Options] -CredStore [URL]

CertUtil [Options] -CredStore URL add

CertUtil [Options] -CredStore URL delete

Hiển thị, xóa hoặc thêm các mục nhập Credential Store.

  • URL: URL mục tiêu. Sử dụng * để khớp tất cả các mục nhập. Sử dụng https: // machine * để khớp với tiền tố URL.
  • add: Thêm một mục nhập Credential Store. Thông tin đăng nhập SSL cũng phải được chỉ định.
  • delete: Xóa các mục nhập Credential Store.
  • -f: Sử dụng -f để ghi đè mục nhập hoặc xóa nhiều mục nhập.
[-f] [-user] [-silent] [-Anonymous] [-Kerberos] [-ClientCertificate ClientCertId] [-UserName UserName] [-p Password]

-InstallDefaultTemplates

CertUtil [Options] -InstallDefaultTemplates

Cài đặt các template chứng chỉ mặc định.

[-dc DCName]

-URLCache

CertUtil [Options] -URLCache [URL | CRL | * [delete]]

Hiển thị hoặc xóa mục nhập bộ nhớ cache URL.

  • URL: URL được lưu trong bộ nhớ cache.
  • CRL: Chỉ hoạt động trên tất cả các URL CRL được lưu trong bộ nhớ cache.
  • *: Hoạt động trên tất cả các URLs.
  • delete: Xóa các URL có liên quan khỏi bộ nhớ cache cục bộ của người dùng hiện tại
  • Sử dụng -f để buộc tìm nạp một URL cụ thể và cập nhật bộ nhớ cache.
[-f] [-split]

-pulse

CertUtil [Options] -pulse

Tạo xung sự kiện đăng ký tự động.

[-user]

-MachineInfo

CertUtil [Options] -MachineInfo DomainName\MachineName$

Hiển thị thông tin đối tượng máy tính Active Directory.

-DCInfo

CertUtil [Options] -DCInfo [Domain] [Verify | DeleteBad | DeleteAll]

Hiển thị thông tin domain controller.

Mặc định là hiển thị các chứng chỉ DC mà không cần xác minh.

[-f] [-user] [-urlfetch] [-dc DCName] [-t Timeout]

Mẹo:

Khả năng xác định một domain Active Directory Domain Services (AD DS) [Domain] và chỉ định một domain controller (-dc) đã được thêm vào Windows Server 2012. Để chạy thành công lệnh, bạn phải sử dụng tài khoản của quản trị viên domain hoặc quản trị viên doanh nghiệp. Các thay đổi hành vi của lệnh này như sau:

  • > 1. Nếu một domain và domain controller cụ thể không được chỉ định, tùy chọn này sẽ trả về danh sách các domain controller để xử lý từ domain controller mặc định.
  • > 2. Nếu một domain không được chỉ định, nhưng domain controller được chỉ định, một báo cáo về các chứng chỉ trên domain controller được chỉ định sẽ được tạo.
  • > 3. Nếu tên domain được chỉ định, nhưng domain controller không được chỉ định, danh sách các domain controller được tạo cùng với các báo cáo về chứng chỉ cho mỗi domain controller trong danh sách.
  • > 4. Nếu tên domain và domain controller đều được chỉ định, một danh sách các domain controller sẽ được tạo ra từ domain controller mục tiêu. Một báo cáo về các chứng chỉ cho mỗi domain controller trong danh sách cũng được tạo ra.

Ví dụ, giả sử có một miền có tên là CPANDL với domain controller là CPANDL-DC1. Bạn có thể chạy lệnh sau để truy xuất danh sách các domain controller và chứng chỉ của chúng từ CPANDL-DC1:

certutil -dc cpandl-dc1 -dcinfo cpandl

-EntInfo

CertUtil [Options] -EntInfo DomainName\MachineName$

[-f] [-user]

-TCAInfo

CertUtil [Options] -TCAInfo [DomainDN | -]

Hiển thị thông tin CA.

[-f] [-enterprise] [-user] [-urlfetch] [-dc DCName] [-t Timeout]

-SCInfo

CertUtil [Options] -SCInfo [ReaderName [CRYPT_DELETEKEYSET]]

Hiển thị thông tin smart card.

CRYPT_DELETEKEYSET: Xóa tất cả key trên smart card.

[-silent] [-split] [-urlfetch] [-t Timeout]

-SCRoots

CertUtil [Options] -SCRoots update [+][InputRootFile] [ReaderName]

CertUtil [Options] -SCRoots save @OutputRootFile [ReaderName]

CertUtil [Options] -SCRoots view [InputRootFile | ReaderName]

CertUtil [Options] -SCRoots delete [ReaderName]

Quản lý các chứng chỉ smart card gốc.

[-f] [-split] [-p Password]

-verifykeys

CertUtil [Options] -verifykeys [KeyContainerName CACertFile]

Xác minh bộ public/private key.

  • KeyContainerName: Tên key container để xác minh. Mặc định là các key máy. Sử dụng -user cho các key người dùng.
  • CACertFile: File chứng chỉ ký hoặc mã hóa.

Nếu không có đối số nào được chỉ định, mỗi chứng chỉ CA được ký sẽ được xác minh dựa vào private key của nó.

Thao tác này chỉ có thể được thực hiện đối với một CA hoặc các key cục bộ.

[-f] [-user] [-silent] [-config Machine\CAName]

-verify

CertUtil [Options] -verify CertFile [ApplicationPolicyList | - [IssuancePolicyList]]

CertUtil [Options] -verify CertFile [CACertFile [CrossedCACertFile]]

CertUtil [Options] -verify CRLFile CACertFile [IssuedCertFile]

CertUtil [Options] -verify CRLFile CACertFile [DeltaCRLFile]

Xác minh chứng chỉ, CRL hoặc chuỗi.

  • CertFile: Chứng chỉ để xác minh.
  • ApplicationPolicyList: Danh sách các Application Policy ObjectIds bắt buộc được phân cách bằng dấu phẩy tùy chọn.
  • IssuancePolicyList: Danh sách các Issuance Policy ObjectIds bắt buộc được phân cách bằng dấu phẩy tùy chọn.
  • CACertFile: Chứng chỉ CA cấp phát tùy chọn để xác minh.
  • CrossedCACertFile: Chứng chỉ tùy chọn được chứng nhận chéo bởi CertFile.
  • CRLFile: CRL để xác minh.
  • IssuedCertFile: Chứng chỉ phát hành tùy chọn được CRLFile bao gồm.
  • DeltaCRLFile: CRL delta tùy chọn.

Nếu ApplicationPolicyList được chỉ định, việc xây dựng chuỗi bị hạn chế đối với các chuỗi hợp lệ cho Application Policies được chỉ định.

Nếu IssuancePolicyList được chỉ định, việc xây dựng chuỗi bị hạn chế đối với các chuỗi hợp lệ đối với Issuance Policies được chỉ định.

Nếu CACertFile được chỉ định, các trường trong CACertFile được xác minh dựa vào CertFile hoặc CRLFile.

Nếu CACertFile không được chỉ định, CertFile được sử dụng để xây dựng và xác minh một chuỗi đầy đủ.

Nếu CACertFile và CrossedCACertFile đều được chỉ định, các trường trong CACertFile và CrossedCACertFile được xác minh dựa vào CertFile.

Nếu IssuedCertFile được chỉ định, các trường trong IssuedCertFile được xác minh dựa vào CRLFile.

Nếu DeltaCRLFile được chỉ định, các trường trong DeltaCRLFile được xác minh dựa vào CRLFile.

[-f] [-enterprise] [-user] [-silent] [-split] [-urlfetch] [-t Timeout]

-verifyCTL

CertUtil [Options] -verifyCTL CTLObject [CertDir] [CertFile]

Xác minh chứng chỉ AuthRoot hoặc Disallowed Certificate CTL.

CTLObject: Xác định CTL để kiểm tra:

  • AuthRootWU: Đọc AuthRoot CAB và các chứng chỉ phù hợp từ bộ nhớ cache URL. Sử dụng -f để tải xuống từ Windows Update thay thế.
  • DisallowedWU: Đọc Disallowed Certificates CAB và file lưu trữ chứng chỉ không được phép từ bộ nhớ cache URL. Sử dụng -f để tải xuống từ Windows Update thay thế.
  • AuthRoot: Đọc registry được lưu trong bộ nhớ cache AuthRoot CTL. Sử dụng với -f và một CertFile không tin cậy để bắt buộc cập nhật registry AuthRoot và Disallowed Certificate CTL.
  • Disallowed: Đọc registry được lưu trong bộ nhớ cache Disallowed Certificates CTL. -f có hành vi tương tự như với AuthRoot.
  • CTLFileName: File hoặc đường dẫn http: đến CTL hoặc CAB.

CertDir: Thư mục chứa chứng chỉ khớp với mục nhập CTL. Đường dẫn thư mục http: phải kết thúc bằng dấu tách đường dẫn. Nếu một thư mục không được chỉ định với AuthRoot hoặc không được phép, nhiều vị trí sẽ được tìm kiếm cho các chứng chỉ phù hợp: Kho lưu trữ chứng chỉ cục bộ, tài nguyên crypt32.dll và bộ nhớ cache URL cục bộ. Sử dụng -f để tải xuống từ Windows Update khi cần thiết. Nếu không thì mặc định là cùng một thư mục hoặc trang web như CTLObject.

CertFile: File chứa (các) chứng chỉ để xác minh. Chứng chỉ sẽ được khớp với các mục nhập CTL và kết quả phù hợp được hiển thị. Loại bỏ hầu hết đầu ra mặc định.

[-f] [-user] [-split]

-sign

CertUtil [Options] -sign InFileList|SerialNumber|CRL OutFileList [StartDate+dd:hh] [+SerialNumberList | -SerialNumberList | -ObjectIdList | @ExtensionFile]

CertUtil [Options] -sign InFileList|SerialNumber|CRL OutFileList [#HashAlgorithm] [+AlternateSignatureAlgorithm | -AlternateSignatureAlgorithm]

Ký lại CRL hoặc chứng chỉ.

  • InFileList: Danh sách chứng chỉ hoặc tệp CRL được phân tách bằng dấu phẩy để sửa đổi và ký lại.
  • SerialNumber: Số sê-ri của chứng chỉ để tạo. Thời hạn hiệu lực và các tùy chọn khác không xuất hiện.
  • CRL: Tạo một CRL trống. Thời hạn hiệu lực và các tùy chọn khác không xuất hiện.
  • OutFileList: Danh sách được phân tách bằng dấu phẩy của các file đầu ra Chứng chỉ hoặc CRL đã sửa đổi. Số lượng tệp phải khớp với InFileList.
  • StartDate+dd:hh: Thời hạn hiệu lực mới: Các khoảng thời gian ngày và giờ tùy chọn còn hiệu lực. Nếu cả hai được chỉ định, hãy sử dụng dấu phân cách là dấu cộng (+). Sử dụng "now[+dd:hh]" để bắt đầu tại thời điểm hiện tại. Sử dụng "never" để không có ngày hết hạn (chỉ dành cho CRL).
  • SerialNumberList: Danh sách số sê-ri được phân tách bằng dấu phẩy để thêm hoặc xóa.
  • ObjectIdList: Danh sách ObjectId mở rộng được phân tách bằng dấu phẩy để xóa.
  • @ExtensionFile: File INF chứa các phần mở rộng để cập nhật hoặc xóa:
[Extensions]
     2.5.29.31 = ; Remove CRL Distribution Points extension
     2.5.29.15 = "{hex}" ; Update Key Usage extension
     _continue_="03 02 01 86"
  • HashAlgorithm: Tên của thuật toán hash bắt đầu bằng dấu #.
  • AlternateSignatureAlgorithm: Trình chỉ định thuật toán chữ ký thay thế.

Dấu trừ làm cho số sê-ri và phần mở rộng bị xóa. Dấu cộng làm cho số sê-ri được thêm vào CRL. Khi xóa các mục khỏi CRL, danh sách có thể chứa cả số sêri và ObjectIds. Dấu trừ trước AlternateSignatureAlgorithm làm cho định dạng chữ ký cũ được sử dụng. Dấu cộng trước khi AlternateSignatureAlgorithm làm cho định dạng chữ ký thay thế được sử dụng. Nếu AlternateSignatureAlgorithm không được chỉ định thì định dạng chữ ký trong chứng chỉ hoặc CRL được sử dụng.

[-nullsign] [-f] [-silent] [-Cert CertId]

-vroot

CertUtil [Options] -vroot [delete]

Tạo hoặc xóa root ảo và file chia sẻ trên web.

-vocsproot

CertUtil [Options] -vocsproot [delete]

Tạo hoặc xóa các root ảo trên web cho một proxy web OCSP.

-addEnrollmentServer

CertUtil [Options] -addEnrollmentServer Kerberos | UserName | ClientCertificate [AllowRenewalsOnly] [AllowKeyBasedRenewal]

Thêm một ứng dụng Enrollment Server.

Thêm một ứng dụng Enrollment Server và nhóm ứng dụng nếu cần, vào CA được chỉ định. Lệnh này không cài đặt các file nhị phân hoặc gói. Một trong các phương pháp xác thực sau đây sẽ được máy khách sử dụng để kết nối với một Certificate Enrollment Server.

  • Kerberos: Sử dụng thông tin đăng nhập Kerberos SSL.
  • UserName: Sử dụng tài khoản được đặt tên cho thông tin đăng nhập SSL.
  • ClientCertificate: Sử dụng thông tin đăng nhập X.509 Certificate SSL.
  • AllowRenewalsOnly: Chỉ có thể gửi yêu cầu gia hạn tới CA này qua URL này.
  • AllowKeyBasedRenewal: Cho phép sử dụng chứng chỉ không có tài khoản được liên kết trong AD. Điều này chỉ áp dụng với chế độ ClientCertificate và AllowRenewalsOnly.
[-config Machine\CAName]

-deleteEnrollmentServer

CertUtil [Options] -deleteEnrollmentServer Kerberos | UserName | ClientCertificate

Xóa một ứng dụng Enrollment Server.

Xóa một ứng dụng Enrollment Server và nhóm ứng dụng nếu cần, đối với CA được chỉ định. Lệnh này không xóa các file nhị phân hoặc gói. Một trong các phương pháp xác thực sau đây sẽ được máy khách sử dụng để kết nối với một Certificate Enrollment Server.

  1. Kerberos: Sử dụng thông tin đăng nhập Kerberos SSL.
  2. UserName: Sử dụng tài khoản được đặt tên cho thông tin đăng nhập SSL.
  3. ClientCertificate: Sử dụng thông tin đăng nhập X.509 Certificate SSL.
[-config Machine\CAName]

-addPolicyServer

CertUtil [Options] -addPolicyServer Kerberos | UserName | ClientCertificate [KeyBasedRenewal]

Thêm một ứng dụng Policy Server.

Thêm ứng dụng Policy Server và nhóm ứng dụng nếu cần. Lệnh này không cài đặt các file nhị phân hoặc gói. Một trong các phương pháp xác thực sau đây sẽ được máy khách sử dụng để kết nối với một Certificate Policy Server:

  • Kerberos: Sử dụng thông tin đăng nhập Kerberos SSL.
  • UserName: Sử dụng tài khoản được đặt tên cho thông tin đăng nhập SSL.
  • ClientCertificate: Sử dụng thông tin đăng nhập X.509 Certificate SSL.
  • KeyBasedRenewal: Các policy có chứa các template KeyBasedRenewal mới được trả lại cho máy khách. Flag này chỉ áp dụng cho xác thực UserName và ClientCertificate.

-deletePolicyServer

CertUtil [Options] -deletePolicyServer Kerberos | UserName | ClientCertificate [KeyBasedRenewal]

Xóa một ứng dụng Policy Server.

Xóa một ứng dụng Policy Server và nhóm ứng dụng nếu cần. Lệnh này không xóa các tệp nhị phân hoặc gói. Một trong các phương pháp xác thực sau đây sẽ được máy khách sử dụng để kết nối với một Certificate Policy Server:

  1. Kerberos: Sử dụng thông tin đăng nhập Kerberos SSL.
  2. UserName: Sử dụng tài khoản được đặt tên cho thông tin đăng nhập SSL.
  3. ClientCertificate: Sử dụng thông tin đăng nhập X.509 Certificate SSL.
  4. KeyBasedRenewal: KeyBasedRenewal policy server.

-oid

CertUtil [Options] -oid ObjectId [DisplayName | delete [LanguageId [Type]]]

CertUtil [Options] -oid GroupId

CertUtil [Options] -oid AlgId | AlgorithmName [GroupId]

Hiển thị ObjectId hoặc đặt tên hiển thị.

  • ObjectId - ObjectId để hiển thị hoặc để thêm tên hiển thị
  • GroupId - Số GroupId thập phân cho ObjectIds để liệt kê
  • AlgId - Số thập lục phân AlgId cho ObjectId để tra cứu
  • AlgorithmName - Tên thuật toán cho ObjectId tra cứu
  • DisplayName - Tên hiển thị để lưu trữ trong DS
  • delete - Xóa tên hiển thị
  • LanguageId - Id ngôn ngữ (mặc định là hiện tại: 1033)
  • Type - Loại đối tượng DS để tạo: 1 cho Template (mặc định), 2 cho Issuance Policy, 3 cho Application Policy.

Sử dụng -f để tạo đối tượng DS.

[-f]

-error

CertUtil [Options] -error ErrorCode

Hiển thị văn bản thông báo mã lỗi.

-getreg

CertUtil [Options] -getreg [{ca|restore|policy|exit|template|enroll|chain|PolicyServers}[ProgId]][RegistryValueName]

Hiển thị giá trị registry.

  • ca: Sử dụng registry key của CA
  • restore: Sử dụng registry key khôi phục của CA
  • policy: Sử dụng registry key của mô-đun policy
  • exit: Sử dụng registry key của mô-đun thoát đầu tiên
  • template: Sử dụng registry key template (sử dụng -user cho template người dùng)
  • enroll: Sử dụng registry key đăng ký (sử dụng -user cho ngữ cảnh người dùng)
  • chain: Sử dụng registry key cấu hình chuỗi
  • PolicyServers: Sử dụng registry key Policy Servers
  • ProgId: Sử dụng policy hoặc ProgId của mô-đun thoát (tên của registry subkey)
  • RegistryValueName: Tên giá trị registry (sử dụng "Name*" để khớp với tiền tố)
  • Value: Giá trị registry hoặc tên file bằng số, chuỗi hoặc ngày mới. Nếu một giá trị số bắt đầu bằng "+" hoặc "-", các bit được chỉ định trong giá trị mới được đặt hoặc xóa trong giá trị registry hiện có.

Nếu giá trị chuỗi bắt đầu bằng "+" hoặc "-" và giá trị hiện tại là giá trị REG_MULTI_SZ, chuỗi được thêm vào hoặc bị xóa khỏi giá trị registry hiện có. Để buộc tạo giá trị REG_MULTI_SZ, hãy thêm "\n" vào cuối giá trị chuỗi.

Nếu giá trị bắt đầu bằng "@", phần còn lại của giá trị là tên file chứa văn bản thập lục phân của giá trị nhị phân. Nếu nó không tham chiếu đến một file hợp lệ, nó được phân tích cú pháp thành [Date][+|-][dd:hh] - một date tùy chọn thêm hoặc bớt ngày và giờ tùy chọn. Nếu cả hai được chỉ định, hãy sử dụng dấu phân: Dấu cộng (+) hoặc dấu trừ (-). Sử dụng "now+dd:hh" cho một date có liên quan đến thời gian hiện tại.

Sử dụng "chain\ChainCacheResyncFiletime @now" để xóa các CRL được lưu trữ một cách hiệu quả.

[-f] [-user] [-GroupPolicy] [-config Machine\CAName]

-setreg

CertUtil [Options] -setreg [{ca|restore|policy|exit|template|enroll|chain|PolicyServers}[ProgId]]RegistryValueName Value

Đặt giá trị registry.

  • ca: Sử dụng registry key của CA
  • restore: Sử dụng registry key khôi phục của CA
  • policy: Sử dụng registry key của mô-đun policy
  • exit: Sử dụng registry key của mô-đun thoát đầu tiên
  • template: Sử dụng registry key template (sử dụng -user cho template người dùng)
  • enroll: Sử dụng registry key đăng ký (sử dụng -user cho ngữ cảnh người dùng)
  • chain: Sử dụng registry key cấu hình chuỗi
  • PolicyServers: Sử dụng registry key Policy Servers
  • ProgId: Sử dụng policy hoặc ProgId của mô-đun thoát (tên của registry subkey)
  • RegistryValueName: Tên giá trị registry (sử dụng "Name*" để khớp với tiền tố)
  • Value: Giá trị registry hoặc tên file bằng số, chuỗi hoặc ngày mới. Nếu một giá trị số bắt đầu bằng "+" hoặc "-", các bit được chỉ định trong giá trị mới được đặt hoặc xóa trong giá trị registry hiện có.

Nếu giá trị chuỗi bắt đầu bằng "+" hoặc "-" và giá trị hiện tại là giá trị REG_MULTI_SZ, chuỗi được thêm vào hoặc bị xóa khỏi giá trị registry hiện có. Để buộc tạo giá trị REG_MULTI_SZ, hãy thêm "\n" vào cuối giá trị chuỗi.

Nếu giá trị bắt đầu bằng "@", phần còn lại của giá trị là tên file chứa văn bản thập lục phân của giá trị nhị phân. Nếu nó không tham chiếu đến một file hợp lệ, nó được phân tích cú pháp thành [Date][+|-][dd:hh] - một date tùy chọn thêm hoặc bớt ngày và giờ tùy chọn. Nếu cả hai được chỉ định, hãy sử dụng dấu phân: Dấu cộng (+) hoặc dấu trừ (-). Sử dụng "now+dd:hh" cho một date có liên quan đến thời gian hiện tại.

Sử dụng "chain\ChainCacheResyncFiletime @now" để xóa các CRL được lưu trữ một cách hiệu quả.

[-f] [-user] [-GroupPolicy] [-config Machine\CAName]

-delreg

CertUtil [Options] -delreg [{ca|restore|policy|exit|template|enroll|chain|PolicyServers}[ProgId]][RegistryValueName]

Xóa giá trị registry.

  • ca: Sử dụng registry key của CA
  • restore: Sử dụng registry key khôi phục của CA
  • policy: Sử dụng registry key của mô-đun policy
  • exit: Sử dụng registry key của mô-đun thoát đầu tiên
  • template: Sử dụng registry key template (sử dụng -user cho template người dùng)
  • enroll: Sử dụng registry key đăng ký (sử dụng -user cho ngữ cảnh người dùng)
  • chain: Sử dụng registry key cấu hình chuỗi
  • PolicyServers: Sử dụng registry key Policy Servers
  • ProgId: Sử dụng policy hoặc ProgId của mô-đun thoát (tên của registry subkey)
  • RegistryValueName: Tên giá trị registry (sử dụng "Name*" để khớp với tiền tố)
  • Value: Giá trị registry hoặc tên file bằng số, chuỗi hoặc ngày mới. Nếu một giá trị số bắt đầu bằng "+" hoặc "-", các bit được chỉ định trong giá trị mới được đặt hoặc xóa trong giá trị registry hiện có.

Nếu giá trị chuỗi bắt đầu bằng "+" hoặc "-" và giá trị hiện tại là giá trị REG_MULTI_SZ, chuỗi được thêm vào hoặc bị xóa khỏi giá trị registry hiện có. Để buộc tạo giá trị REG_MULTI_SZ, hãy thêm "\n" vào cuối giá trị chuỗi.

Nếu giá trị bắt đầu bằng "@", phần còn lại của giá trị là tên file chứa văn bản thập lục phân của giá trị nhị phân. Nếu nó không tham chiếu đến một file hợp lệ, nó được phân tích cú pháp thành [Date][+|-][dd:hh] - một date tùy chọn thêm hoặc bớt ngày và giờ tùy chọn. Nếu cả hai được chỉ định, hãy sử dụng dấu phân: Dấu cộng (+) hoặc dấu trừ (-). Sử dụng "now+dd:hh" cho một date có liên quan đến thời gian hiện tại.

Sử dụng "chain\ChainCacheResyncFiletime @now" để xóa các CRL được lưu trữ một cách hiệu quả.

[-f] [-user] [-GroupPolicy] [-config Machine\CAName]

-ImportKMS

CertUtil [Options] -ImportKMS UserKeyAndCertFile [CertId]

Nhập key người dùng và chứng chỉ vào cơ sở dữ liệu máy chủ để lưu trữ key.

UserKeyAndCertFile - File dữ liệu chứa các private key và chứng chỉ của người dùng được lưu trữ. Nó có thể là bất kỳ điều nào sau đây:

  • File xuất Exchange Key Management Server (KMS)
  • File PFX

CertId: Mã thông báo chứng chỉ giải mã file xuất KMS. Xem -store.

Sử dụng -f để nhập chứng chỉ không do CA cấp.

[-f] [-silent] [-split] [-config Machine\CAName] [-p Password] [-symkeyalg SymmetricKeyAlgorithm[,KeyLength]]

-ImportCert

CertUtil [Options] -ImportCert Certfile [ExistingRow]

Nhập file chứng chỉ vào cơ sở dữ liệu.

  • Sử dụng ExistingRow để nhập chứng chỉ thay cho yêu cầu đang chờ xử lý cho cùng một key.
  • Sử dụng -f để nhập chứng chỉ không do CA cấp.
  • CA cũng có thể cần phải được cấu hình để hỗ trợ nhập chứng chỉ bên ngoài:
certutil -setreg ca\KRAFlags +KRAF_ENABLEFOREIGN
[-f] [-config Machine\CAName]

-GetKey

CertUtil [Options] -GetKey SearchToken [RecoveryBlobOutFile]

CertUtil [Options] -GetKey SearchToken script OutputScriptFile

CertUtil [Options] -GetKey SearchToken retrieve | recover OutputFileBaseName

Truy xuất blob khôi phục private key đã lưu trữ, tạo tập lệnh khôi phục hoặc khôi phục các key đã lưu trữ.

  • script: Tạo tập lệnh để truy xuất và khôi phục key (hành vi mặc định nếu tìm thấy nhiều tùy chọn khôi phục phù hợp hoặc nếu file đầu ra không được chỉ định).
  • retrieve: Truy xuất một hoặc nhiều Key Recovery Blobs (hành vi mặc định nếu tìm thấy chính xác một tùy chọn khôi phục phù hợp và nếu file đầu ra được chỉ định).
  • recover: Truy xuất và khôi phục các private key trong một bước (yêu cầu chứng chỉ Key Recovery Agent và các private key).
  • SearchToken: Được sử dụng để chọn các key và chứng chỉ cần khôi phục. Có thể là một trong các thứ sau:
  1. Certificate Common Name
  2. Certificate Serial Number
  3. Certificate SHA-1 hash (thumbprint)
  4. Certificate KeyId SHA-1 hash (Subject Key Identifier)
  5. Requester Name (domain\user)
  6. UPN (user@domain)
  • RecoveryBlobOutFile: File đầu ra chứa chuỗi chứng chỉ và private key được liên kết, vẫn được mã hóa thành một hoặc nhiều chứng chỉ Key Recovery Agent.
  • OutputScriptFile: File đầu ra chứa tập lệnh batch để truy xuất và khôi phục private key.
  • OutputFileBaseName: Tên cơ sở file đầu ra. Để truy xuất, bất kỳ phần mở rộng nào được cắt ngắn và một chuỗi cụ thể của chứng chỉ và phần mở rộng .rec đều được thêm vào cho mỗi blob phục hồi key. Mỗi file chứa chuỗi chứng chỉ và private key được liên kết, vẫn được mã hóa thành một hoặc nhiều chứng chỉ Key Recovery Agent. Để khôi phục, mọi phần mở rộng bị cắt bớt và phần mở rộng .p12 được nối thêm. Nó chứa các chuỗi chứng chỉ đã được khôi phục và các private key liên quan, được lưu trữ dưới dạng file PFX.
[-f] [-UnicodeText] [-silent] [-config Machine\CAName] [-p Password] [-ProtectTo SAMNameAndSIDList] [-csp Provider]

-RecoverKey

CertUtil [Options] -RecoverKey RecoveryBlobInFile [PFXOutFile [RecipientIndex]]

Khôi phục private key đã lưu trữ.

[-f] [-user] [-silent] [-split] [-p Password] [-ProtectTo SAMNameAndSIDList] [-csp Provider] [-t Timeout]

-MergePFX

CertUtil [Options] -MergePFX PFXInFileList PFXOutFile [ExtendedProperties]
  • PFXInFileList: Danh sách file đầu vào PFX được phân tách bằng dấu phẩy
  • PFXOutFile: File đầu ra PFX
  • ExtendedProperties: Bao gồm các thuộc tính mở rộng

Mật khẩu được chỉ định trên dòng lệnh là danh sách mật khẩu được phân tách bằng dấu phẩy. Nếu có nhiều hơn một mật khẩu được chỉ định, mật khẩu cuối cùng được sử dụng cho file đầu ra. Nếu chỉ có một mật khẩu được cung cấp hoặc nếu mật khẩu cuối cùng là "*", người dùng sẽ được nhắc nhập mật khẩu file đầu ra.

[-f] [-user] [-split] [-p Password] [-ProtectTo SAMNameAndSIDList] [-csp Provider]

-ConvertEPF

CertUtil [Options] -ConvertEPF PFXInFileList EPFOutFile [cast | cast-] [V3CACertId][,Salt]

Chuyển đổi file PFX thành file EPF.

  • PFXInFileList: Danh sách file đầu vào PFX được phân tách bằng dấu phẩy
  • EPF: File đầu ra EPF
  • cast: Sử dụng mã hóa CAST 64
  • cast-: Sử dụng mã hóa CAST 64 (xuất)
  • V3CACertId: Mã thông báo phù hợp với chứng chỉ V3 CA. Xem phần mô tả -store CertId.
  • Salt: Chuỗi file đầu ra EPF

Mật khẩu được chỉ định trên dòng lệnh là danh sách mật khẩu được phân tách bằng dấu phẩy. Nếu có nhiều hơn một mật khẩu được chỉ định, mật khẩu cuối cùng được sử dụng cho file đầu ra. Nếu chỉ có một mật khẩu được cung cấp hoặc nếu mật khẩu cuối cùng là "*", người dùng sẽ được nhắc nhập mật khẩu file đầu ra.

[-f] [-silent] [-split] [-dc DCName] [-p Password] [-csp Provider]

Tùy chọn

Phần này định nghĩa các tùy chọn mà bạn có thể chỉ định bằng lệnh.

Tùy chọnMô tả
-nullsignSử dụng hàm hash dữ liệu làm chữ ký
-fBuộc ghi đè
-enterpriseSử dụng kho lưu trữ chứng chỉ registry Enterprise của máy cục bộ
-userSử dụng key HKEY_CURRENT_USER hoặc kho chứng chỉ
-GroupPolicySử dụng kho chứng chỉ Group Policy
-utHiển thị các template người dùng
-mtHiển thị các template máy
-UnicodeGhi đầu ra được chuyển hướng bằng Unicode
-UnicodeTextGhi file đầu ra bằng Unicode
-gmtHiển thị thời gian theo GMT
-secondsHiển thị thời gian bằng giây và mili giây
-silentSử dụng flag không có thông báo để có được ngữ cảnh mã hóa
-splitChia các phần tử ASN.1 được nhúng và lưu vào file
-vHoạt động chi tiết
-privatekeyHiển thị mật khẩu và dữ liệu private key
-pin PINSố PIN Smart Card
-urlfetchTruy xuất và xác minh các chứng chỉ AIA và CDP CRL
-config Machine\CANameCA và tên chuỗi máy tính
-PolicyServer URLOrIdPolicy Server URL hoặc Id. Để chọn U/I, sử dụng -PolicyServer. Đối với tất cả các Policy Server, sử dụng -PolicyServer *
-AnonymousSử dụng thông tin xác thực SSL ẩn danh
-KerberosSử dụng thông tin đăng nhập SSL Kerberos
-ClientCertificate ClientCertIdSử dụng thông tin đăng nhập X.509 Certificate SSL. Để chọn U/I, sử dụng -clientCertificate.
-UserName UserNameSử dụng tài khoản được đặt tên cho thông tin xác thực SSL. Để chọn U/I, sử dụng -UserName.
-Cert CertIdChứng nhận chữ ký
-dc DCNameNhắm mục tiêu tới một Domain Controller cụ thể
-restrict RestrictionListDanh sách hạn chế được phân tách bằng dấu phẩy. Mỗi giới hạn bao gồm tên cột, toán tử quan hệ và số nguyên, chuỗi hoặc ngày không đổi. Một tên cột có thể được đặt sau dấu cộng hoặc dấu trừ để biểu thị thứ tự sắp xếp. Ví dụ:
"RequestId = 47"
"+RequesterName >= a, RequesterName < b"
"-RequesterName > DOMAIN, Disposition = 21"
-out ColumnListDanh sách cột được phân cách bằng dấu phẩy
-p PasswordMật khẩu
-ProtectTo SAMNameAndSIDListTên SAM/Danh sách SID được phân tách bằng dấu phẩy
-csp ProviderNhà cung cấp
-t TimeoutThời gian chờ tìm nạp URL theo mili giây
-symkeyalg SymmetricKeyAlgorithm[,KeyLength]Tên thuật toán Symmetric Key có độ dài key tùy chọn, ví dụ: AES, 128 hoặc 3DES

Xem thêm:

Thứ Sáu, 02/11/2018 09:38
52 👨 2.594
0 Bình luận
Sắp xếp theo
    ❖ Kiến thức cơ bản