Quantcast
Channel: Public Key Infrastructure PowerShell module
Viewing all 729 articles
Browse latest View live

Commented Unassigned: NotImplementedException - PSPKI.psm1 [79]

$
0
0
I didn't use the installer, because I want to Import the module by hand.

By I get this error NotImplementedException, could it be, that the order of the modules is wrong?
The function Write-ErrorMessage was importet after it was called from PSPKI.psm1?


```
VERBOSE: Loading module from path 'C:\PowerShellRepro\Modules\PSPKI\PSPKI.psd1'.
VERBOSE: Loading 'Assembly' from path 'C:\PowerShellRepro\Modules\PSPKI\Library\PKI.Core.dll'.
VERBOSE: Loading 'Assembly' from path 'C:\PowerShellRepro\Modules\PSPKI\Library\Interop.CERTADMINLib.dll'.
VERBOSE: Loading 'Assembly' from path 'C:\PowerShellRepro\Modules\PSPKI\Library\Interop.CERTCLILib.dll'.
VERBOSE: Loading 'Assembly' from path 'C:\PowerShellRepro\Modules\PSPKI\Library\Interop.CERTENROLLLib.dll'.
VERBOSE: Loading 'TypesToProcess' from path 'C:\PowerShellRepro\Modules\PSPKI\Types\PSPKI.Types.ps1xml'.
VERBOSE: Loading 'FormatsToProcess' from path 'C:\PowerShellRepro\Modules\PSPKI\Types\PSPKI.Format.ps1xml'.
VERBOSE: Loading module from path 'C:\PowerShellRepro\Modules\PSPKI\PSPKI.psm1'.
Write-ErrorMessage : Exception of type 'Microsoft.PowerShell.Commands.WriteErrorException' was thrown.
At C:\PowerShellRepro\Modules\PSPKI\PSPKI.psm1:122 char:9
+ catch {Write-ErrorMessage -Source "CAPIUnavailable"}
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotImplemented: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : NotImplementedException,Write-ErrorMessage

VERBOSE: Exporting function '__RestartCA'.
VERBOSE: Exporting function 'Test-XCEPCompat'.
VERBOSE: Exporting function 'Ping-Wmi'.
VERBOSE: Exporting function 'Ping-ICertAdmin'.
VERBOSE: Exporting function 'Write-ErrorMessage'.
VERBOSE: Importing function 'Ping-ICertAdmin'.
VERBOSE: Importing function 'Ping-Wmi'.
VERBOSE: Importing function 'Test-XCEPCompat'.
VERBOSE: Importing function 'Write-ErrorMessage'.
VERBOSE: Importing function '__RestartCA'.
```
Comments: this exception is raised because ADCS Management Tools (RSAT) are not installed.

Created Unassigned: New-SelfSignedCertificateEx - "A parameter cannot be found that matches parameter name 'Encoding'" [80]

$
0
0
Hello,
I want to create a self signed s/mime cert.
To archiv this I use the Cmdlet New-SelfSignedCertificateEx, but i get the error "A parameter cannot be found that matches parameter name 'Encoding'".

Any ideas?

```
PS C:\> New-SelfSignedCertificateEx
-Subject "E=bd24e2d11-98a3-4842-b15e-58bcc5be306c@aol.com"
-KeyLength 4096
-NotBefore 01.01.2015 -NotAfter 01.01.2018
-EnhancedKeyUsage '1.3.6.1.5.5.7.3.4','1.3.6.1.5.5.7.3.2'
-SignatureAlgorithm SHA512
-AllowSMIME
-Exportable
-Path "M:\Certs\cert.pfx"

cmdlet New-SelfSignedCertificateEx at command pipeline position 1
Supply values for the following parameters:
Password: ********************
New-SelfSignedCertificateEx : A parameter cannot be found that matches parameter name 'Encoding'.
At line:1 char:1
+ New-SelfSignedCertificateEx -Subject "E=bd24e2d11-98a3-4842-b15e-58bcc5be306c@aol ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [New-SelfSignedCertificateEx], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,New-SelfSignedCertificateEx
```

Edited Unassigned: New-SelfSignedCertificateEx - "A parameter cannot be found that matches parameter name 'Encoding'" [80]

$
0
0
Hello,
I want to create a self signed s/mime cert.
To archiv this I use the Cmdlet New-SelfSignedCertificateEx, but i get the error "A parameter cannot be found that matches parameter name 'Encoding'".

__If I didn't use "-Path "M:\Certs\cert.pfx"" it works.__

Any ideas?

```
PS C:\> New-SelfSignedCertificateEx
-Subject "E=bd24e2d11-98a3-4842-b15e-58bcc5be306c@aol.com"
-KeyLength 4096
-NotBefore 01.01.2015 -NotAfter 01.01.2018
-EnhancedKeyUsage '1.3.6.1.5.5.7.3.4','1.3.6.1.5.5.7.3.2'
-SignatureAlgorithm SHA512
-AllowSMIME
-Exportable
-Path "M:\Certs\cert.pfx"

cmdlet New-SelfSignedCertificateEx at command pipeline position 1
Supply values for the following parameters:
Password: ********************
New-SelfSignedCertificateEx : A parameter cannot be found that matches parameter name 'Encoding'.
At line:1 char:1
+ New-SelfSignedCertificateEx -Subject "E=bd24e2d11-98a3-4842-b15e-58bcc5be306c@aol ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [New-SelfSignedCertificateEx], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,New-SelfSignedCertificateEx
```

New Post: Decode ASN.1 value from custom extension (raw data)

$
0
0
Gents,

I am using PSPKI 3.0 and am trying to decode a custom extension (example is 1.2.3.4.5.8 as an OID with a string as the payload).

I cannot figure out how to access the decoded data in the payload. For all other known extensions, the .Format() method returns meaningful strings. The string is decoded e.g. by the ASN.1 Editor. Played arount with some classes, e.g. AsnEncodedData but I cannot make it work. E.g. constructing an object and handing over the byte [] does not work either.

I am lost (and no programmer at all :)
Import-Module PSPKI

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2

$cert.Import("C:\temp\test.cer")

$extensions = $cert.Extensions

$customExtension = $extensions[8]

$customExtension.OID
$customExtension.RawData
$customExtension.Format($false)
An exemplary certificate

-----BEGIN CERTIFICATE-----
MIIGTjCCBTagAwIBAgITXgAAACxJAMui+d5klQAAAAAALDANBgkqhkiG9w0BAQ0F
ADB2MRMwEQYKCZImiZPyLGQBGRYDY29tMRcwFQYKCZImiZPyLGQBGRYHZXhhbXBs
ZTEUMBIGCgmSJomT8ixkARkWBGdvb2QxMDAuBgNVBAMTJ0V4YW1wbGUgSXNzdWlu
ZyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNTAyMTIxMzIzMThaFw0xNjAy
MDUwODQ0MDdaMG0xCzAJBgNVBAYTAkRFMQ0wCwYDVQQIEwRUZXN0MQ0wCwYDVQQH
EwRUZXN0MQ0wCwYDVQQKEwRUZXNkMQ0wCwYDVQQLEwR0ZVRlMQ0wCwYDVQQDEwRS
ZXN0MRMwEQYJKoZIhvcNAQkBFgRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAvv5Pr13e7mJBDKt/7M8Sffv1ZsrJOdL9LB+htwHYSvIVUPaauqhY
gficQZobgyspEmic4M6N6HjNoPN2iFGBcmqr1HE+Wy4/25pzakMxxAVw7VWRGCQn
DpTvfgDZ9N4pE667b6/jFG49nHH0CBNOW2DQmAOwUFJ7QtTQyC5c4zH376BBIhx9
HWjEUNMGXacx6P76A8et6uoLR2JQXBKHDkKeEUBCPsQdPg4uRm6vrxwanniV0nKg
+y4TRVqxB3l23tIuhHXAZynOwScG2UXTpGpY3R6YtXd79rPifwZJB7iFqO7oTSYi
TQaVuucn4x0oSzhXYAx/utWPjuIVDrcsvQIDAQABo4IC3DCCAtgwDgYDVR0PAQH/
BAQDAgWgMD0GCSsGAQQBgjcVBwQwMC4GJisGAQQBgjcVCIKgulOEwe9Rg/GbOoGy
9EyBn+o7HYLIvm2DzNI1AgFkAgEDMB0GA1UdDgQWBBQU3qI49gF8xQKsi5w3nScx
2ByKCTAfBgNVHSMEGDAWgBSJOmkIDkS7x2zuoGbzBo4fslONvDCB3QYDVR0fBIHV
MIHSMIHPoIHMoIHJhoHGbGRhcDovLy9DTj1FeGFtcGxlIElzc3VpbmcgQ2VydGlm
aWNhdGlvbiBBdXRob3JpdHksQ049ZGMyLENOPUNEUCxDTj1QdWJsaWMgS2V5IFNl
cnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9ZXhhbXBsZSxE
Qz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNz
PWNSTERpc3RyaWJ1dGlvblBvaW50MIHVBggrBgEFBQcBAQSByDCBxTCBwgYIKwYB
BQUHMAKGgbVsZGFwOi8vL0NOPUV4YW1wbGUgSXNzdWluZyBDZXJ0aWZpY2F0aW9u
IEF1dGhvcml0eSxDTj1BSUEsQ049UHVibGljIEtleSBTZXJ2aWNlcyxDTj1TZXJ2
aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPWV4YW1wbGUsREM9Y29tP2NBQ2VydGlm
aWNhdGU/YmFzZT9vYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MCkG
A1UdJQQiMCAGCCsGAQUFBwMCBggrBgEFBQcDAQYKKwYBBAGCNzYBAjA1BgkrBgEE
AYI3FQoEKDAmMAoGCCsGAQUFBwMCMAoGCCsGAQUFBwMBMAwGCisGAQQBgjc2AQIw
LQYFKgMEBQgEJBYibWZAZXhhbXBsZS5jb207aXRhZG1pbkBleGFtcGxlLmNvbTAN
BgkqhkiG9w0BAQ0FAAOCAQEAAbsU4k2uLoVvlLL63LqRDZlgNDycoBdihY9px/i5
9WHQ7gVcOEke0nm87M2lvbJeGMB8r5ErCVEpoMnZArPEqoVfxUttd1Z/qn36MK2C
U7Wr78uTRwu7ydxyGdq80w5CyPuvx2ppccdeAzOB5+zdLIAMRHZsiB7KBlWcoaMw
CHc3nH13awNKEjT6GnIygYwkCfvhniAnyKFIlucF67b5b3leQ1vgUaQcvZoeHZ29
PTio6b205qIxkA4vvuyH50fvgilU3v+iH/oBdVeBUt5/5B9pC1LxFSI4rncZkO3E
c6a6d7BpPHWxYdDDIBm/n4OBM8rOn4dTHY/1CFgbF/Aqcw==
-----END CERTIFICATE-----

New Post: Decode ASN.1 value from custom extension (raw data)

$
0
0
Neither, AsnEncodedData or any tool will decode unknown extension. Each extension has specific syntax and common extension decoders are implemented in Windows. For custom extension you have to write your own decoder based on extension's ASN module. I suspect that your extension is a simple IA5String, so you can decode this string:
[PKI.ASN.ASN1]::DecodeIA5String($cert.Extensions[8].RawData)

New Post: Decode ASN.1 value from custom extension (raw data)

$
0
0
Hi Camelot,

cannot believe it was this easy :D And yes, it was just an IA5String. Binged like crazy and could not find any info... :)

Thanks a lot, this was exactly what I was looking for.

MMF

Created Unassigned: OCSPResponse incorrectly indicate response expiration [81]

$
0
0
OCSPResponse incorrectly indicate response expired when `nextUpdate` is missing in one or more OCSPSingleResponses.

New Post: Pulling Subject Alternative Names from certificates in Issuing CA.

$
0
0
I am creating a script which will notify users when their certificates are about to expire. In the notification email, I would like to have all Subject Alternative Names listed if they exist in the email. My question is how can I see the SAN's in each certificate when running Get-CertificationAuthority -ComputerName "xxx" | Get-IssuedRequest -RequestID xx? When I look at the certificate via ADCS console, I can see the extension with the names.

Currently I am running PSPKI 3.0 with in 2012 R2 environment.

Thanks for your help.

New Post: Pulling Subject Alternative Names from certificates in Issuing CA.

$
0
0
you can use -Property parameter to include desired columns in the output.

Commented Unassigned: New-SelfSignedCertificateEx - "A parameter cannot be found that matches parameter name 'Encoding'" [80]

$
0
0
Hello,
I want to create a self signed s/mime cert.
To archiv this I use the Cmdlet New-SelfSignedCertificateEx, but i get the error "A parameter cannot be found that matches parameter name 'Encoding'".

__If I didn't use "-Path "M:\Certs\cert.pfx"" it works.__

Any ideas?

```
PS C:\> New-SelfSignedCertificateEx
-Subject "E=bd24e2d11-98a3-4842-b15e-58bcc5be306c@aol.com"
-KeyLength 4096
-NotBefore 01.01.2015 -NotAfter 01.01.2018
-EnhancedKeyUsage '1.3.6.1.5.5.7.3.4','1.3.6.1.5.5.7.3.2'
-SignatureAlgorithm SHA512
-AllowSMIME
-Exportable
-Path "M:\Certs\cert.pfx"

cmdlet New-SelfSignedCertificateEx at command pipeline position 1
Supply values for the following parameters:
Password: ********************
New-SelfSignedCertificateEx : A parameter cannot be found that matches parameter name 'Encoding'.
At line:1 char:1
+ New-SelfSignedCertificateEx -Subject "E=bd24e2d11-98a3-4842-b15e-58bcc5be306c@aol ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [New-SelfSignedCertificateEx], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,New-SelfSignedCertificateEx
```
Comments: I can't repro your issue. I think it was a glitch.

New Post: Pulling Subject Alternative Names from certificates in Issuing CA.

$
0
0
I'm sorry, as I should have been slightly more specific. I have done __-property *__ to pull all data and in no place am I able to see the subject alternative names in the output. Below is everything reported with the __-property *__. Again nothing regarding subject alternative names.

Request.RequestID :
Request.RawRequest :
Request.RawArchivedKey :
Request.KeyRecoveryHashes :
Request.RawOldCertificate :
Request.RequestAttributes :
Request.RequestType :
Request.RequestFlags :
Request.StatusCode :
Request.Disposition :
Request.DispositionMessage :
Request.SubmittedWhen :
Request.ResolvedWhen :
Request.RevokedWhen :
Request.RevokedEffectiveWhen :
Request.RevokedReason :
Request.RequesterName :
Request.CallerName :
Request.SignerPolicies :
Request.SignerApplicationPolicies :
Request.Officer :
Request.DistinguishedName :
Request.RawName :
Request.Country :
Request.Organization :
Request.OrgUnit :
Request.CommonName :
Request.Locality :
Request.State :
Request.Title :
Request.GivenName :
Request.Initials :
Request.SurName :
Request.DomainComponent :
Request.EMail :
Request.StreetAddress :
Request.UnstructuredName :
Request.UnstructuredAddress :
Request.DeviceSerialNumber :
Request.AttestationChallenge :
Request.EndorsementKeyHash :
Request.EndorsementCertificateHash :
RequestID :
RawCertificate :

CertificateHash :
CertificateTemplate :
EnrollmentFlags :
GeneralFlags :
PrivatekeyFlags :
SerialNumber :
IssuerNameID :
NotBefore :
NotAfter :
SubjectKeyIdentifier :
RawPublicKey :

PublicKeyLength :
PublicKeyAlgorithm :
RawPublicKeyAlgorithmParameters :

PublishExpiredCertInCRL :
UPN :
DistinguishedName :
RawName :

Country :
Organization :
OrgUnit :
CommonName :
Locality :
State :
Title :
GivenName :
Initials :
SurName :
DomainComponent :
EMail :
StreetAddress :
UnstructuredName :
UnstructuredAddress :
DeviceSerialNumber :
RowId :
ConfigString :
Table :

New Post: Pulling Subject Alternative Names from certificates in Issuing CA.

$
0
0
Can you show where you see SAN value in the ADCS console?

New Post: Pulling Subject Alternative Names from certificates in Issuing CA.

$
0
0
It's not allowing me to attach the screen shot. However, on a certificate that has SAN(s), double click to view the certificate, then go to the details tab, and then I show extensions. Under extensions I see Subject Alternative Name under the Field column.

Thanks

New Post: Pulling Subject Alternative Names from certificates in Issuing CA.

$
0
0
Extensions are stored in a different table. So you will need to use a bit different approach:
# retrieve extensions associated with the request in the DB$e= Get-CertificationAuthority -ComputerName "xxx" | Get-DatabaseRow -Table Extension -RowID xx | ?{$_.ExtensionName -eq"2.5.29.17"}
$asn= New-Object System.Security.Cryptography.AsnEncodedData @(,([convert]::frombase64string($e.ExtensionRawValue)))
$ext= New-Object System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNamesExtension $asn,0

New Post: Pulling Subject Alternative Names from certificates in Issuing CA.

$
0
0
Camelot,

Sorry for the slow response.

I greatly appreciate your help and that worked like a champ! Due to your assistance, I will be able to report SAN's in the email report of expiring certificates.

Thanks!

Updated Wiki: Roadmap

$
0
0

Project Roadmap

This page contains a roadmap for the PowerShell PKI module project. Roadmap items are placed in a no paticular order.

PowerShell

Underlying C# library (PKI.Core.dll)

ASN.1 type system

  • Move ASN.1 to a separate assembly. It shall be a standalone assembly to work with primitive ASN.1 types;
  • Create a separate class for each ASN.1 primitive type;
  • Possibly deprecate a bunch of static methods in favor of new classes. Or move them to a separate class;
  • Remove all unmanaged code from ASN.1 assembly;
  • Create ASN.1 tree generator;

Cryptography class extensions:

  • Replace unmanaged decoders for CRL, CTL with managed implementations;
  • Provide certificate request generation functions;
  • Provide Certificate Trust List generation functions;
  • Provide Certificate Revocation List generation functions;
  • Add certificate store-attached property support;

OCSP

  • Implement OCSPv2 (as per RFC6960) client support;

Updated Wiki: Home

$
0
0


Powered by Windows PowerShell

Project Description
This module is intended to simplify certain PKI management tasks by using automation with Windows PowerShell.

This module is intended for Certification Authority management. For local certificate store management you should consider to useQuest AD PKI cmdlets.

Module Requirements

  • Windows PowerShell 3.0
  • .NET Framework 4.0

This module can run on any of the specified operating system:

  • Windows Server 2008*/2008 R2/2012/2012 R2
  • Windows Vista**/7**/8**/8.1**

*— Server Core installation is not supported.
**— with installed RSAT (Remote System Administration Tools)

Certification Authority requirements
This module supports Enterprise or Standalone Certification Authority servers that are running one the following operating system:

  • Windows Server 2003/2003 R2
  • Windows Server 2008 (including Server Core)
  • Windows Server 2008 R2 (including Server Core)
  • Windows Server 2012 (including Server Core)
  • Windows Server 2012 R2 (including Server Core)

Command list:
Full command list for the latest release:


The following technologies and products were used to design this module:

Updated Release: PowerShell PKI Module v3.1 (mar 23, 2015)

$
0
0
Important: I would like to hear more about what you are thinking about the project? I appreciate that you like it (2000 downloads over past 6 months), but may be you have to say something? What do you dislike in the module? Maybe you would love to see some new functionality? Tell, what you think!

Installation guide:

  • Use default installation path to install this module for current user only.
  • To install this module for all users — enable "Install for all users" check-box in installation UI
  • if previous module installations are detected, they are removed during upgrade.

Breaking Changes

Starting with this release, when installing module to "All Users", the module is no longer installed in the System32 folder. Instead, it is installed in the following folde: %osdrive%Program Files\Sysadmins LV\PowerShell\Modules. When per-user option is selected, it is installed in the MyDocuments folder as usually.

Release notes for version 3.1

This release is minor release and covers mostly existing bug fixes. On the other hand, this release prepares

New commands:

  • Get-EnterprisePKIHealthStatus

Deprecated commands:

None

more details in my weblog:
PKI.Core.dll API documentation is published at http://pkix2.sysadmins.lv/library/. PKI.Core.dll sources are published in PKILib 3.1.0.0.zip

for details about new commands please see main page: http://pspki.codeplex.com/

p.s. if you found a bug, or want to suggest new features, please open a working item in Issue Tracker: http://pspki.codeplex.com/workitem/list/basic
for general discussions you can post here: http://pspki.codeplex.com/discussions

Updated Release: PowerShell PKI Module v3.1 (mar 23, 2015)

$
0
0
Important: I would like to hear more about what you are thinking about the project? I appreciate that you like it (2000 downloads over past 6 months), but may be you have to say something? What do you dislike in the module? Maybe you would love to see some new functionality? Tell, what you think!

Installation guide:

  • Use default installation path to install this module for current user only.
  • To install this module for all users — enable "Install for all users" check-box in installation UI
  • if previous module installations are detected, they are removed during upgrade.

Breaking Changes

Starting with this release, when installing module to "All Users", the module is no longer installed in the System32 folder. Instead, it is installed in the following folde: %osdrive%Program Files\Sysadmins LV\PowerShell\Modules. When per-user option is selected, it is installed in the MyDocuments folder as usually.

Release notes for version 3.1

This release is minor release and covers mostly existing bug fixes. On the other hand, this release prepares

New commands:

  • Get-EnterprisePKIHealthStatus

Deprecated commands:

None

more details in my weblog:
PKI.Core.dll API documentation is published at http://pkix2.sysadmins.lv/library/. PKI.Core.dll sources are published in PKILib 3.1.0.0.zip

for details about new commands please see main page: http://pspki.codeplex.com/

p.s. if you found a bug, or want to suggest new features, please open a working item in Issue Tracker: http://pspki.codeplex.com/workitem/list/basic
for general discussions you can post here: http://pspki.codeplex.com/discussions

Released: PowerShell PKI Module v3.1 (Mar 23, 2015)

$
0
0
Important: I would like to hear more about what you are thinking about the project? I appreciate that you like it (2000 downloads over past 6 months), but may be you have to say something? What do you dislike in the module? Maybe you would love to see some new functionality? Tell, what you think!

Installation guide:

  • Use default installation path to install this module for current user only.
  • To install this module for all users — enable "Install for all users" check-box in installation UI
  • if previous module installations are detected, they are removed during upgrade.

Breaking Changes

Starting with this release, when installing module to "All Users", the module is no longer installed in the System32 folder. Instead, it is installed in the following folde: %osdrive%Program Files\Sysadmins LV\PowerShell\Modules. When per-user option is selected, it is installed in the MyDocuments folder as usually.

Release notes for version 3.1

This release is minor release and covers mostly existing bug fixes. On the other hand, this release prepares

New commands:

  • Get-EnterprisePKIHealthStatus

Deprecated commands:

None

more details in my weblog:
PKI.Core.dll API documentation is published at http://pkix2.sysadmins.lv/library/. PKI.Core.dll sources are published in PKILib 3.1.0.0.zip

for details about new commands please see main page: http://pspki.codeplex.com/

p.s. if you found a bug, or want to suggest new features, please open a working item inIssue Tracker: http://pspki.codeplex.com/workitem/list/basic
for general discussions you can post here: http://pspki.codeplex.com/discussions
Viewing all 729 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>