feat(SublimeText2.UtilPackages): cache packages
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
[
|
||||
{
|
||||
"caption": "Package Control: Add Repository",
|
||||
"command": "add_repository"
|
||||
},
|
||||
{
|
||||
"caption": "Package Control: Add Channel",
|
||||
"command": "add_repository_channel"
|
||||
},
|
||||
{
|
||||
"caption": "Package Control: Create Binary Package File",
|
||||
"command": "create_binary_package"
|
||||
},
|
||||
{
|
||||
"caption": "Package Control: Create Package File",
|
||||
"command": "create_package"
|
||||
},
|
||||
{
|
||||
"caption": "Package Control: Disable Package",
|
||||
"command": "disable_package"
|
||||
},
|
||||
{
|
||||
"caption": "Package Control: Discover Packages",
|
||||
"command": "discover_packages"
|
||||
},
|
||||
{
|
||||
"caption": "Package Control: Enable Package",
|
||||
"command": "enable_package"
|
||||
},
|
||||
{
|
||||
"caption": "Package Control: Install Package",
|
||||
"command": "install_package"
|
||||
},
|
||||
{
|
||||
"caption": "Package Control: List Packages",
|
||||
"command": "list_packages"
|
||||
},
|
||||
{
|
||||
"caption": "Package Control: Remove Package",
|
||||
"command": "remove_package"
|
||||
},
|
||||
{
|
||||
"caption": "Package Control: Upgrade Package",
|
||||
"command": "upgrade_package"
|
||||
},
|
||||
{
|
||||
"caption": "Package Control: Upgrade/Overwrite All Packages",
|
||||
"command": "upgrade_all_packages"
|
||||
},
|
||||
{
|
||||
"caption": "Preferences: Package Control Settings – Default",
|
||||
"command": "open_file", "args":
|
||||
{
|
||||
"file": "${packages}/Package Control/Package Control.sublime-settings"
|
||||
}
|
||||
},
|
||||
{
|
||||
"caption": "Preferences: Package Control Settings – User",
|
||||
"command": "open_file", "args":
|
||||
{
|
||||
"file": "${packages}/User/Package Control.sublime-settings"
|
||||
}
|
||||
}
|
||||
]
|
@@ -0,0 +1,45 @@
|
||||
[
|
||||
{
|
||||
"caption": "Preferences",
|
||||
"mnemonic": "n",
|
||||
"id": "preferences",
|
||||
"children":
|
||||
[
|
||||
{
|
||||
"caption": "Package Settings",
|
||||
"mnemonic": "P",
|
||||
"id": "package-settings",
|
||||
"children":
|
||||
[
|
||||
{
|
||||
"caption": "Package Control",
|
||||
"children":
|
||||
[
|
||||
{
|
||||
"command": "open_file", "args":
|
||||
{
|
||||
"file": "${packages}/Package Control/Package Control.sublime-settings"
|
||||
},
|
||||
"caption": "Settings – Default"
|
||||
},
|
||||
{
|
||||
"command": "open_file", "args":
|
||||
{
|
||||
"file": "${packages}/User/Package Control.sublime-settings"
|
||||
},
|
||||
"caption": "Settings – User"
|
||||
},
|
||||
{ "caption": "-" }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"caption": "Package Control",
|
||||
"mnemonic": "C",
|
||||
"command": "show_overlay",
|
||||
"args": {"overlay": "command_palette", "text": "Package Control: "}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,138 @@
|
||||
{
|
||||
// A list of URLs that each contain a JSON file with a list of repositories.
|
||||
// The repositories from these channels are placed in order after the
|
||||
// repositories from the "repositories" setting
|
||||
"repository_channels": [
|
||||
"https://sublime.wbond.net/repositories.json"
|
||||
],
|
||||
|
||||
// A list of URLs that contain a packages JSON file. These repositories
|
||||
// are placed in order before repositories from the "repository_channels"
|
||||
// setting
|
||||
"repositories": [],
|
||||
|
||||
// A list of CA certs needed for domains. The default channel provides a
|
||||
// list of domains and an identifier (the md5 hash) for the CA cert(s)
|
||||
// necessary for each.
|
||||
//
|
||||
// If a custom cert is required for a proxy or for an alternate channel
|
||||
// or repository domain name, it should be added in one of the two forms:
|
||||
//
|
||||
// "*": ["my_identifier", "https://example.com/url/of/cert_file"]
|
||||
// "*": ["my_identifier_2", "/absolute/filesystem/path/to/cert_file"]
|
||||
//
|
||||
// In both cases the literal "*" means the cert will be checked to ensure
|
||||
// it is present for accessing any URL. This is necessary for proxy
|
||||
// connections, but also useful if you want to provide you own
|
||||
// ca-bundle.crt file.
|
||||
//
|
||||
// The "my_identifier" and "my_identifier_2" can be any unique string
|
||||
// that Package Control can use as a filename, and ensures that it has
|
||||
// merged the cert file with the ca-bundle.crt file in the certs/ directory
|
||||
// since that is what is passed to the downloaders.
|
||||
"certs": {
|
||||
"api.bitbucket.org": ["d867a7b2aecc46f9c31afc4f2f50de05", ""],
|
||||
"api.github.com": ["1c5282418e2cb4989cd6beddcdbab0b5", ""],
|
||||
"bitbucket.org": ["897abe0b41fd2f64e9e2e351cbc36d76", ""],
|
||||
"nodeload.github.com": ["1c5282418e2cb4989cd6beddcdbab0b5", ""],
|
||||
"raw.github.com": ["1c5282418e2cb4989cd6beddcdbab0b5", ""],
|
||||
"sublime.wbond.net": ["7f4f8622b4fd001c7f648e09aae7edaa", ""]
|
||||
},
|
||||
|
||||
// If debugging information for HTTP/HTTPS connections should be printed
|
||||
// to the Sublime Text console
|
||||
"debug": false,
|
||||
|
||||
// This helps solve naming issues where a repository it not named the
|
||||
// same as the package should be. This is primarily only useful for
|
||||
// GitHub and BitBucket repositories. This mapping will override the
|
||||
// mapping that is retrieved from the repository channels.
|
||||
"package_name_map": {},
|
||||
|
||||
// If package install, upgrade and removal info should be submitted to
|
||||
// the channel for aggregated statistics
|
||||
"submit_usage": true,
|
||||
|
||||
// The URL to post install, upgrade and removal notices to
|
||||
"submit_url": "https://sublime.wbond.net/submit",
|
||||
|
||||
// If packages should be automatically upgraded when ST2 starts
|
||||
"auto_upgrade": true,
|
||||
|
||||
// If missing packages should be automatically installed when ST2 starts
|
||||
"install_missing": true,
|
||||
|
||||
// The minimum frequency in hours in which to check for automatic upgrades,
|
||||
// setting this to 0 will always check for automatic upgrades
|
||||
"auto_upgrade_frequency": 1,
|
||||
|
||||
// Packages to not auto upgrade
|
||||
"auto_upgrade_ignore": [],
|
||||
|
||||
// Timeout for downloading channels, repositories and packages
|
||||
"timeout": 30,
|
||||
|
||||
// The number of seconds to cache repository and package info for
|
||||
"cache_length": 300,
|
||||
|
||||
// An HTTP proxy server to use for requests
|
||||
"http_proxy": "",
|
||||
// An HTTPS proxy server to use for requests - this will inherit from
|
||||
// http_proxy if it is set to "" or null and http_proxy has a value. You
|
||||
// can set this to false to prevent inheriting from http_proxy.
|
||||
"https_proxy": "",
|
||||
|
||||
// Username and password for both http_proxy and https_proxy
|
||||
"proxy_username": "",
|
||||
"proxy_password": "",
|
||||
|
||||
// User agent for HTTP requests
|
||||
"user_agent": "Sublime Package Control",
|
||||
|
||||
// Setting this to true will cause Package Control to ignore all git
|
||||
// and hg repositories - this may help if trying to list packages to install
|
||||
// hangs
|
||||
"ignore_vcs_packages": false,
|
||||
|
||||
// Custom paths to VCS binaries for when they can't be automatically
|
||||
// found on the system and a package includes a VCS metadata directory
|
||||
"git_binary": "",
|
||||
"git_update_command": ["pull", "origin", "master", "--ff", "--commit"],
|
||||
|
||||
"hg_binary": "",
|
||||
|
||||
// Be sure to keep the remote name as the last argument
|
||||
"hg_update_command": ["pull", "--update", "default"],
|
||||
|
||||
// Directories to ignore when creating a package
|
||||
"dirs_to_ignore": [
|
||||
".hg", ".git", ".svn", "_darcs", "CVS"
|
||||
],
|
||||
|
||||
// Files to ignore when creating a package
|
||||
"files_to_ignore": [
|
||||
".hgignore", ".gitignore", ".bzrignore", "*.pyc", "*.sublime-project",
|
||||
"*.sublime-workspace", "*.tmTheme.cache"
|
||||
],
|
||||
|
||||
// Files to include, even if they match a pattern in files_to_ignore
|
||||
"files_to_include": [],
|
||||
|
||||
// Files to ignore when creating a binary package. By default binary
|
||||
// packages ship with .pyc files instead of .py files. If an __init__.py
|
||||
// file exists, it will always be included, even if it matches one of
|
||||
// these patterns.
|
||||
"files_to_ignore_binary": [
|
||||
".hgignore", ".gitignore", ".bzrignore", "*.py", "*.sublime-project",
|
||||
"*.sublime-workspace", "*.tmTheme.cache"
|
||||
],
|
||||
|
||||
// Files to include for a binary package, even if they match a pattern i
|
||||
// files_to_ignore_binary
|
||||
"files_to_include_binary": [
|
||||
"__init__.py"
|
||||
],
|
||||
|
||||
// When a package is created, copy it to this folder - defaults to Desktop
|
||||
"package_destination": ""
|
||||
}
|
@@ -0,0 +1,113 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
0a:5f:11:4d:03:5b:17:91:17:d2:ef:d4:03:8c:3f:3b
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
|
||||
Validity
|
||||
Not Before: Apr 2 12:00:00 2008 GMT
|
||||
Not After : Apr 3 00:00:00 2022 GMT
|
||||
Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance CA-3
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
Public-Key: (2048 bit)
|
||||
Modulus:
|
||||
00:bf:61:0a:29:10:1f:5e:fe:34:37:51:08:f8:1e:
|
||||
fb:22:ed:61:be:0b:0d:70:4c:50:63:26:75:15:b9:
|
||||
41:88:97:b6:f0:a0:15:bb:08:60:e0:42:e8:05:29:
|
||||
10:87:36:8a:28:65:a8:ef:31:07:74:6d:36:97:2f:
|
||||
28:46:66:04:c7:2a:79:26:7a:99:d5:8e:c3:6d:4f:
|
||||
a0:5e:ad:bc:3d:91:c2:59:7b:5e:36:6c:c0:53:cf:
|
||||
00:08:32:3e:10:64:58:10:13:69:c7:0c:ee:9c:42:
|
||||
51:00:f9:05:44:ee:24:ce:7a:1f:ed:8c:11:bd:12:
|
||||
a8:f3:15:f4:1c:7a:31:69:01:1b:a7:e6:5d:c0:9a:
|
||||
6c:7e:09:9e:e7:52:44:4a:10:3a:23:e4:9b:b6:03:
|
||||
af:a8:9c:b4:5b:9f:d4:4b:ad:92:8c:ce:b5:11:2a:
|
||||
aa:37:18:8d:b4:c2:b8:d8:5c:06:8c:f8:ff:23:bd:
|
||||
35:5e:d4:7c:3e:7e:83:0e:91:96:05:98:c3:b2:1f:
|
||||
e3:c8:65:eb:a9:7b:5d:a0:2c:cc:fc:3c:d9:6d:ed:
|
||||
cc:fa:4b:43:8c:c9:d4:b8:a5:61:1c:b2:40:b6:28:
|
||||
12:df:b9:f8:5f:fe:d3:b2:c9:ef:3d:b4:1e:4b:7c:
|
||||
1c:4c:99:36:9e:3d:eb:ec:a7:68:5e:1d:df:67:6e:
|
||||
5e:fb
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Key Usage: critical
|
||||
Digital Signature, Certificate Sign, CRL Sign
|
||||
X509v3 Certificate Policies:
|
||||
Policy: 2.16.840.1.114412.1.3.0.2
|
||||
CPS: http://www.digicert.com/ssl-cps-repository.htm
|
||||
User Notice:
|
||||
Explicit Text:
|
||||
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:TRUE, pathlen:0
|
||||
Authority Information Access:
|
||||
OCSP - URI:http://ocsp.digicert.com
|
||||
|
||||
X509v3 CRL Distribution Points:
|
||||
|
||||
Full Name:
|
||||
URI:http://crl3.digicert.com/DigiCertHighAssuranceEVRootCA.crl
|
||||
|
||||
Full Name:
|
||||
URI:http://crl4.digicert.com/DigiCertHighAssuranceEVRootCA.crl
|
||||
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
|
||||
|
||||
X509v3 Subject Key Identifier:
|
||||
50:EA:73:89:DB:29:FB:10:8F:9E:E5:01:20:D4:DE:79:99:48:83:F7
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
1e:e2:a5:48:9e:6c:db:53:38:0f:ef:a6:1a:2a:ac:e2:03:43:
|
||||
ed:9a:bc:3e:8e:75:1b:f0:fd:2e:22:59:ac:13:c0:61:e2:e7:
|
||||
fa:e9:99:cd:87:09:75:54:28:bf:46:60:dc:be:51:2c:92:f3:
|
||||
1b:91:7c:31:08:70:e2:37:b9:c1:5b:a8:bd:a3:0b:00:fb:1a:
|
||||
15:fd:03:ad:58:6a:c5:c7:24:99:48:47:46:31:1e:92:ef:b4:
|
||||
5f:4e:34:c7:90:bf:31:c1:f8:b1:84:86:d0:9c:01:aa:df:8a:
|
||||
56:06:ce:3a:e9:0e:ae:97:74:5d:d7:71:9a:42:74:5f:de:8d:
|
||||
43:7c:de:e9:55:ed:69:00:cb:05:e0:7a:61:61:33:d1:19:4d:
|
||||
f9:08:ee:a0:39:c5:25:35:b7:2b:c4:0f:b2:dd:f1:a5:b7:0e:
|
||||
24:c4:26:28:8d:79:77:f5:2f:f0:57:ba:7c:07:d4:e1:fc:cd:
|
||||
5a:30:57:7e:86:10:47:dd:31:1f:d7:fc:a2:c2:bf:30:7c:5d:
|
||||
24:aa:e8:f9:ae:5f:6a:74:c2:ce:6b:b3:46:d8:21:be:29:d4:
|
||||
8e:5e:15:d6:42:4a:e7:32:6f:a4:b1:6b:51:83:58:be:3f:6d:
|
||||
c7:fb:da:03:21:cb:6a:16:19:4e:0a:f0:ad:84:ca:5d:94:b3:
|
||||
5a:76:f7:61
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGWDCCBUCgAwIBAgIQCl8RTQNbF5EX0u/UA4w/OzANBgkqhkiG9w0BAQUFADBs
|
||||
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
||||
d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
|
||||
ZSBFViBSb290IENBMB4XDTA4MDQwMjEyMDAwMFoXDTIyMDQwMzAwMDAwMFowZjEL
|
||||
MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
|
||||
LmRpZ2ljZXJ0LmNvbTElMCMGA1UEAxMcRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
|
||||
Q0EtMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9hCikQH17+NDdR
|
||||
CPge+yLtYb4LDXBMUGMmdRW5QYiXtvCgFbsIYOBC6AUpEIc2iihlqO8xB3RtNpcv
|
||||
KEZmBMcqeSZ6mdWOw21PoF6tvD2Rwll7XjZswFPPAAgyPhBkWBATaccM7pxCUQD5
|
||||
BUTuJM56H+2MEb0SqPMV9Bx6MWkBG6fmXcCabH4JnudSREoQOiPkm7YDr6ictFuf
|
||||
1EutkozOtREqqjcYjbTCuNhcBoz4/yO9NV7UfD5+gw6RlgWYw7If48hl66l7XaAs
|
||||
zPw82W3tzPpLQ4zJ1LilYRyyQLYoEt+5+F/+07LJ7z20Hkt8HEyZNp496+ynaF4d
|
||||
32duXvsCAwEAAaOCAvowggL2MA4GA1UdDwEB/wQEAwIBhjCCAcYGA1UdIASCAb0w
|
||||
ggG5MIIBtQYLYIZIAYb9bAEDAAIwggGkMDoGCCsGAQUFBwIBFi5odHRwOi8vd3d3
|
||||
LmRpZ2ljZXJ0LmNvbS9zc2wtY3BzLXJlcG9zaXRvcnkuaHRtMIIBZAYIKwYBBQUH
|
||||
AgIwggFWHoIBUgBBAG4AeQAgAHUAcwBlACAAbwBmACAAdABoAGkAcwAgAEMAZQBy
|
||||
AHQAaQBmAGkAYwBhAHQAZQAgAGMAbwBuAHMAdABpAHQAdQB0AGUAcwAgAGEAYwBj
|
||||
AGUAcAB0AGEAbgBjAGUAIABvAGYAIAB0AGgAZQAgAEQAaQBnAGkAQwBlAHIAdAAg
|
||||
AEMAUAAvAEMAUABTACAAYQBuAGQAIAB0AGgAZQAgAFIAZQBsAHkAaQBuAGcAIABQ
|
||||
AGEAcgB0AHkAIABBAGcAcgBlAGUAbQBlAG4AdAAgAHcAaABpAGMAaAAgAGwAaQBt
|
||||
AGkAdAAgAGwAaQBhAGIAaQBsAGkAdAB5ACAAYQBuAGQAIABhAHIAZQAgAGkAbgBj
|
||||
AG8AcgBwAG8AcgBhAHQAZQBkACAAaABlAHIAZQBpAG4AIABiAHkAIAByAGUAZgBl
|
||||
AHIAZQBuAGMAZQAuMBIGA1UdEwEB/wQIMAYBAf8CAQAwNAYIKwYBBQUHAQEEKDAm
|
||||
MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wgY8GA1UdHwSB
|
||||
hzCBhDBAoD6gPIY6aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0SGln
|
||||
aEFzc3VyYW5jZUVWUm9vdENBLmNybDBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNl
|
||||
cnQuY29tL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDAfBgNVHSME
|
||||
GDAWgBSxPsNpA/i/RwHUmCYaCALvY2QrwzAdBgNVHQ4EFgQUUOpzidsp+xCPnuUB
|
||||
INTeeZlIg/cwDQYJKoZIhvcNAQEFBQADggEBAB7ipUiebNtTOA/vphoqrOIDQ+2a
|
||||
vD6OdRvw/S4iWawTwGHi5/rpmc2HCXVUKL9GYNy+USyS8xuRfDEIcOI3ucFbqL2j
|
||||
CwD7GhX9A61YasXHJJlIR0YxHpLvtF9ONMeQvzHB+LGEhtCcAarfilYGzjrpDq6X
|
||||
dF3XcZpCdF/ejUN83ulV7WkAywXgemFhM9EZTfkI7qA5xSU1tyvED7Ld8aW3DiTE
|
||||
JiiNeXf1L/BXunwH1OH8zVowV36GEEfdMR/X/KLCvzB8XSSq6PmuX2p0ws5rs0bY
|
||||
Ib4p1I5eFdZCSucyb6Sxa1GDWL4/bcf72gMhy2oWGU4K8K2Eyl2Us1p292E=
|
||||
-----END CERTIFICATE-----
|
@@ -0,0 +1,165 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 145105 (0x236d1)
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
|
||||
Validity
|
||||
Not Before: Feb 19 22:45:05 2010 GMT
|
||||
Not After : Feb 18 22:45:05 2020 GMT
|
||||
Subject: C=US, O=GeoTrust, Inc., CN=RapidSSL CA
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (2048 bit)
|
||||
Modulus (2048 bit):
|
||||
00:c7:71:f8:56:c7:1e:d9:cc:b5:ad:f6:b4:97:a3:
|
||||
fb:a1:e6:0b:50:5f:50:aa:3a:da:0f:fc:3d:29:24:
|
||||
43:c6:10:29:c1:fc:55:40:72:ee:bd:ea:df:9f:b6:
|
||||
41:f4:48:4b:c8:6e:fe:4f:57:12:8b:5b:fa:92:dd:
|
||||
5e:e8:ad:f3:f0:1b:b1:7b:4d:fb:cf:fd:d1:e5:f8:
|
||||
e3:dc:e7:f5:73:7f:df:01:49:cf:8c:56:c1:bd:37:
|
||||
e3:5b:be:b5:4f:8b:8b:f0:da:4f:c7:e3:dd:55:47:
|
||||
69:df:f2:5b:7b:07:4f:3d:e5:ac:21:c1:c8:1d:7a:
|
||||
e8:e7:f6:0f:a1:aa:f5:6f:de:a8:65:4f:10:89:9c:
|
||||
03:f3:89:7a:a5:5e:01:72:33:ed:a9:e9:5a:1e:79:
|
||||
f3:87:c8:df:c8:c5:fc:37:c8:9a:9a:d7:b8:76:cc:
|
||||
b0:3e:e7:fd:e6:54:ea:df:5f:52:41:78:59:57:ad:
|
||||
f1:12:d6:7f:bc:d5:9f:70:d3:05:6c:fa:a3:7d:67:
|
||||
58:dd:26:62:1d:31:92:0c:79:79:1c:8e:cf:ca:7b:
|
||||
c1:66:af:a8:74:48:fb:8e:82:c2:9e:2c:99:5c:7b:
|
||||
2d:5d:9b:bc:5b:57:9e:7c:3a:7a:13:ad:f2:a3:18:
|
||||
5b:2b:59:0f:cd:5c:3a:eb:68:33:c6:28:1d:82:d1:
|
||||
50:8b
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Key Usage: critical
|
||||
Certificate Sign, CRL Sign
|
||||
X509v3 Subject Key Identifier:
|
||||
6B:69:3D:6A:18:42:4A:DD:8F:02:65:39:FD:35:24:86:78:91:16:30
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E
|
||||
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:TRUE, pathlen:0
|
||||
X509v3 CRL Distribution Points:
|
||||
URI:http://crl.geotrust.com/crls/gtglobal.crl
|
||||
|
||||
Authority Information Access:
|
||||
OCSP - URI:http://ocsp.geotrust.com
|
||||
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
ab:bc:bc:0a:5d:18:94:e3:c1:b1:c3:a8:4c:55:d6:be:b4:98:
|
||||
f1:ee:3c:1c:cd:cf:f3:24:24:5c:96:03:27:58:fc:36:ae:a2:
|
||||
2f:8f:f1:fe:da:2b:02:c3:33:bd:c8:dd:48:22:2b:60:0f:a5:
|
||||
03:10:fd:77:f8:d0:ed:96:67:4f:fd:ea:47:20:70:54:dc:a9:
|
||||
0c:55:7e:e1:96:25:8a:d9:b5:da:57:4a:be:8d:8e:49:43:63:
|
||||
a5:6c:4e:27:87:25:eb:5b:6d:fe:a2:7f:38:28:e0:36:ab:ad:
|
||||
39:a5:a5:62:c4:b7:5c:58:2c:aa:5d:01:60:a6:62:67:a3:c0:
|
||||
c7:62:23:f4:e7:6c:46:ee:b5:d3:80:6a:22:13:d2:2d:3f:74:
|
||||
4f:ea:af:8c:5f:b4:38:9c:db:ae:ce:af:84:1e:a6:f6:34:51:
|
||||
59:79:d3:e3:75:dc:bc:d7:f3:73:df:92:ec:d2:20:59:6f:9c:
|
||||
fb:95:f8:92:76:18:0a:7c:0f:2c:a6:ca:de:8a:62:7b:d8:f3:
|
||||
ce:5f:68:bd:8f:3e:c1:74:bb:15:72:3a:16:83:a9:0b:e6:4d:
|
||||
99:9c:d8:57:ec:a8:01:51:c7:6f:57:34:5e:ab:4a:2c:42:f6:
|
||||
4f:1c:89:78:de:26:4e:f5:6f:93:4c:15:6b:27:56:4d:00:54:
|
||||
6c:7a:b7:b7
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIID1TCCAr2gAwIBAgIDAjbRMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
|
||||
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
|
||||
YWwgQ0EwHhcNMTAwMjE5MjI0NTA1WhcNMjAwMjE4MjI0NTA1WjA8MQswCQYDVQQG
|
||||
EwJVUzEXMBUGA1UEChMOR2VvVHJ1c3QsIEluYy4xFDASBgNVBAMTC1JhcGlkU1NM
|
||||
IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx3H4Vsce2cy1rfa0
|
||||
l6P7oeYLUF9QqjraD/w9KSRDxhApwfxVQHLuverfn7ZB9EhLyG7+T1cSi1v6kt1e
|
||||
6K3z8Buxe037z/3R5fjj3Of1c3/fAUnPjFbBvTfjW761T4uL8NpPx+PdVUdp3/Jb
|
||||
ewdPPeWsIcHIHXro5/YPoar1b96oZU8QiZwD84l6pV4BcjPtqelaHnnzh8jfyMX8
|
||||
N8iamte4dsywPuf95lTq319SQXhZV63xEtZ/vNWfcNMFbPqjfWdY3SZiHTGSDHl5
|
||||
HI7PynvBZq+odEj7joLCniyZXHstXZu8W1eefDp6E63yoxhbK1kPzVw662gzxigd
|
||||
gtFQiwIDAQABo4HZMIHWMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUa2k9ahhC
|
||||
St2PAmU5/TUkhniRFjAwHwYDVR0jBBgwFoAUwHqYaI2J+6sFZAwRfap9ZbjKzE4w
|
||||
EgYDVR0TAQH/BAgwBgEB/wIBADA6BgNVHR8EMzAxMC+gLaArhilodHRwOi8vY3Js
|
||||
Lmdlb3RydXN0LmNvbS9jcmxzL2d0Z2xvYmFsLmNybDA0BggrBgEFBQcBAQQoMCYw
|
||||
JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmdlb3RydXN0LmNvbTANBgkqhkiG9w0B
|
||||
AQUFAAOCAQEAq7y8Cl0YlOPBscOoTFXWvrSY8e48HM3P8yQkXJYDJ1j8Nq6iL4/x
|
||||
/torAsMzvcjdSCIrYA+lAxD9d/jQ7ZZnT/3qRyBwVNypDFV+4ZYlitm12ldKvo2O
|
||||
SUNjpWxOJ4cl61tt/qJ/OCjgNqutOaWlYsS3XFgsql0BYKZiZ6PAx2Ij9OdsRu61
|
||||
04BqIhPSLT90T+qvjF+0OJzbrs6vhB6m9jRRWXnT43XcvNfzc9+S7NIgWW+c+5X4
|
||||
knYYCnwPLKbK3opie9jzzl9ovY8+wXS7FXI6FoOpC+ZNmZzYV+yoAVHHb1c0XqtK
|
||||
LEL2TxyJeN4mTvVvk0wVaydWTQBUbHq3tw==
|
||||
-----END CERTIFICATE-----
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 144470 (0x23456)
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
|
||||
Validity
|
||||
Not Before: May 21 04:00:00 2002 GMT
|
||||
Not After : May 21 04:00:00 2022 GMT
|
||||
Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (2048 bit)
|
||||
Modulus (2048 bit):
|
||||
00:da:cc:18:63:30:fd:f4:17:23:1a:56:7e:5b:df:
|
||||
3c:6c:38:e4:71:b7:78:91:d4:bc:a1:d8:4c:f8:a8:
|
||||
43:b6:03:e9:4d:21:07:08:88:da:58:2f:66:39:29:
|
||||
bd:05:78:8b:9d:38:e8:05:b7:6a:7e:71:a4:e6:c4:
|
||||
60:a6:b0:ef:80:e4:89:28:0f:9e:25:d6:ed:83:f3:
|
||||
ad:a6:91:c7:98:c9:42:18:35:14:9d:ad:98:46:92:
|
||||
2e:4f:ca:f1:87:43:c1:16:95:57:2d:50:ef:89:2d:
|
||||
80:7a:57:ad:f2:ee:5f:6b:d2:00:8d:b9:14:f8:14:
|
||||
15:35:d9:c0:46:a3:7b:72:c8:91:bf:c9:55:2b:cd:
|
||||
d0:97:3e:9c:26:64:cc:df:ce:83:19:71:ca:4e:e6:
|
||||
d4:d5:7b:a9:19:cd:55:de:c8:ec:d2:5e:38:53:e5:
|
||||
5c:4f:8c:2d:fe:50:23:36:fc:66:e6:cb:8e:a4:39:
|
||||
19:00:b7:95:02:39:91:0b:0e:fe:38:2e:d1:1d:05:
|
||||
9a:f6:4d:3e:6f:0f:07:1d:af:2c:1e:8f:60:39:e2:
|
||||
fa:36:53:13:39:d4:5e:26:2b:db:3d:a8:14:bd:32:
|
||||
eb:18:03:28:52:04:71:e5:ab:33:3d:e1:38:bb:07:
|
||||
36:84:62:9c:79:ea:16:30:f4:5f:c0:2b:e8:71:6b:
|
||||
e4:f9
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:TRUE
|
||||
X509v3 Subject Key Identifier:
|
||||
C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E
|
||||
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
35:e3:29:6a:e5:2f:5d:54:8e:29:50:94:9f:99:1a:14:e4:8f:
|
||||
78:2a:62:94:a2:27:67:9e:d0:cf:1a:5e:47:e9:c1:b2:a4:cf:
|
||||
dd:41:1a:05:4e:9b:4b:ee:4a:6f:55:52:b3:24:a1:37:0a:eb:
|
||||
64:76:2a:2e:2c:f3:fd:3b:75:90:bf:fa:71:d8:c7:3d:37:d2:
|
||||
b5:05:95:62:b9:a6:de:89:3d:36:7b:38:77:48:97:ac:a6:20:
|
||||
8f:2e:a6:c9:0c:c2:b2:99:45:00:c7:ce:11:51:22:22:e0:a5:
|
||||
ea:b6:15:48:09:64:ea:5e:4f:74:f7:05:3e:c7:8a:52:0c:db:
|
||||
15:b4:bd:6d:9b:e5:c6:b1:54:68:a9:e3:69:90:b6:9a:a5:0f:
|
||||
b8:b9:3f:20:7d:ae:4a:b5:b8:9c:e4:1d:b6:ab:e6:94:a5:c1:
|
||||
c7:83:ad:db:f5:27:87:0e:04:6c:d5:ff:dd:a0:5d:ed:87:52:
|
||||
b7:2b:15:02:ae:39:a6:6a:74:e9:da:c4:e7:bc:4d:34:1e:a9:
|
||||
5c:4d:33:5f:92:09:2f:88:66:5d:77:97:c7:1d:76:13:a9:d5:
|
||||
e5:f1:16:09:11:35:d5:ac:db:24:71:70:2c:98:56:0b:d9:17:
|
||||
b4:d1:e3:51:2b:5e:75:e8:d5:d0:dc:4f:34:ed:c2:05:66:80:
|
||||
a1:cb:e6:33
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
|
||||
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
|
||||
YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
|
||||
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
|
||||
R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
|
||||
9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
|
||||
fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
|
||||
iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
|
||||
1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
|
||||
bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
|
||||
MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
|
||||
ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
|
||||
uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
|
||||
Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
|
||||
tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
|
||||
PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
|
||||
hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
|
||||
5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
|
||||
-----END CERTIFICATE-----
|
@@ -0,0 +1,285 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
03:37:b9:28:34:7c:60:a6:ae:c5:ad:b1:21:7f:38:60
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
|
||||
Validity
|
||||
Not Before: Nov 9 12:00:00 2007 GMT
|
||||
Not After : Nov 10 00:00:00 2021 GMT
|
||||
Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV CA-1
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (2048 bit)
|
||||
Modulus (2048 bit):
|
||||
00:f3:96:62:d8:75:6e:19:ff:3f:34:7c:49:4f:31:
|
||||
7e:0d:04:4e:99:81:e2:b3:85:55:91:30:b1:c0:af:
|
||||
70:bb:2c:a8:e7:18:aa:3f:78:f7:90:68:52:86:01:
|
||||
88:97:e2:3b:06:65:90:aa:bd:65:76:c2:ec:be:10:
|
||||
5b:37:78:83:60:75:45:c6:bd:74:aa:b6:9f:a4:3a:
|
||||
01:50:17:c4:39:69:b9:f1:4f:ef:82:c1:ca:f3:4a:
|
||||
db:cc:9e:50:4f:4d:40:a3:3a:90:e7:86:66:bc:f0:
|
||||
3e:76:28:4c:d1:75:80:9e:6a:35:14:35:03:9e:db:
|
||||
0c:8c:c2:28:ad:50:b2:ce:f6:91:a3:c3:a5:0a:58:
|
||||
49:f6:75:44:6c:ba:f9:ce:e9:ab:3a:02:e0:4d:f3:
|
||||
ac:e2:7a:e0:60:22:05:3c:82:d3:52:e2:f3:9c:47:
|
||||
f8:3b:d8:b2:4b:93:56:4a:bf:70:ab:3e:e9:68:c8:
|
||||
1d:8f:58:1d:2a:4d:5e:27:3d:ad:0a:59:2f:5a:11:
|
||||
20:40:d9:68:04:68:2d:f4:c0:84:0b:0a:1b:78:df:
|
||||
ed:1a:58:dc:fb:41:5a:6d:6b:f2:ed:1c:ee:5c:32:
|
||||
b6:5c:ec:d7:a6:03:32:a6:e8:de:b7:28:27:59:88:
|
||||
80:ff:7b:ad:89:58:d5:1e:14:a4:f2:b0:70:d4:a0:
|
||||
3e:a7
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Key Usage: critical
|
||||
Digital Signature, Certificate Sign, CRL Sign
|
||||
X509v3 Extended Key Usage:
|
||||
TLS Web Server Authentication, TLS Web Client Authentication, Code Signing, E-mail Protection, Time Stamping
|
||||
X509v3 Certificate Policies:
|
||||
Policy: 2.16.840.1.114412.2.1
|
||||
CPS: http://www.digicert.com/ssl-cps-repository.htm
|
||||
User Notice:
|
||||
Explicit Text:
|
||||
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:TRUE, pathlen:0
|
||||
Authority Information Access:
|
||||
OCSP - URI:http://ocsp.digicert.com
|
||||
CA Issuers - URI:http://www.digicert.com/CACerts/DigiCertHighAssuranceEVRootCA.crt
|
||||
|
||||
X509v3 CRL Distribution Points:
|
||||
URI:http://crl3.digicert.com/DigiCertHighAssuranceEVRootCA.crl
|
||||
URI:http://crl4.digicert.com/DigiCertHighAssuranceEVRootCA.crl
|
||||
|
||||
X509v3 Subject Key Identifier:
|
||||
4C:58:CB:25:F0:41:4F:52:F4:28:C8:81:43:9B:A6:A8:A0:E6:92:E5
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
|
||||
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
4c:7a:17:87:28:5d:17:bc:b2:32:73:bf:cd:2e:f5:58:31:1d:
|
||||
f0:b1:71:54:9c:d6:9b:67:93:db:2f:03:3e:16:6f:1e:03:c9:
|
||||
53:84:a3:56:60:1e:78:94:1b:a2:a8:6f:a3:a4:8b:52:91:d7:
|
||||
dd:5c:95:bb:ef:b5:16:49:e9:a5:42:4f:34:f2:47:ff:ae:81:
|
||||
7f:13:54:b7:20:c4:70:15:cb:81:0a:81:cb:74:57:dc:9c:df:
|
||||
24:a4:29:0c:18:f0:1c:e4:ae:07:33:ec:f1:49:3e:55:cf:6e:
|
||||
4f:0d:54:7b:d3:c9:e8:15:48:d4:c5:bb:dc:35:1c:77:45:07:
|
||||
48:45:85:bd:d7:7e:53:b8:c0:16:d9:95:cd:8b:8d:7d:c9:60:
|
||||
4f:d1:a2:9b:e3:d0:30:d6:b4:73:36:e6:d2:f9:03:b2:e3:a4:
|
||||
f5:e5:b8:3e:04:49:00:ba:2e:a6:4a:72:83:72:9d:f7:0b:8c:
|
||||
a9:89:e7:b3:d7:64:1f:d6:e3:60:cb:03:c4:dc:88:e9:9d:25:
|
||||
01:00:71:cb:03:b4:29:60:25:8f:f9:46:d1:7b:71:ae:cd:53:
|
||||
12:5b:84:8e:c2:0f:c7:ed:93:19:d9:c9:fa:8f:58:34:76:32:
|
||||
2f:ae:e1:50:14:61:d4:a8:58:a3:c8:30:13:23:ef:c6:25:8c:
|
||||
36:8f:1c:80
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIG5jCCBc6gAwIBAgIQAze5KDR8YKauxa2xIX84YDANBgkqhkiG9w0BAQUFADBs
|
||||
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
||||
d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
|
||||
ZSBFViBSb290IENBMB4XDTA3MTEwOTEyMDAwMFoXDTIxMTExMDAwMDAwMFowaTEL
|
||||
MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
|
||||
LmRpZ2ljZXJ0LmNvbTEoMCYGA1UEAxMfRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
|
||||
RVYgQ0EtMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPOWYth1bhn/
|
||||
PzR8SU8xfg0ETpmB4rOFVZEwscCvcLssqOcYqj9495BoUoYBiJfiOwZlkKq9ZXbC
|
||||
7L4QWzd4g2B1Rca9dKq2n6Q6AVAXxDlpufFP74LByvNK28yeUE9NQKM6kOeGZrzw
|
||||
PnYoTNF1gJ5qNRQ1A57bDIzCKK1Qss72kaPDpQpYSfZ1RGy6+c7pqzoC4E3zrOJ6
|
||||
4GAiBTyC01Li85xH+DvYskuTVkq/cKs+6WjIHY9YHSpNXic9rQpZL1oRIEDZaARo
|
||||
LfTAhAsKG3jf7RpY3PtBWm1r8u0c7lwytlzs16YDMqbo3rcoJ1mIgP97rYlY1R4U
|
||||
pPKwcNSgPqcCAwEAAaOCA4UwggOBMA4GA1UdDwEB/wQEAwIBhjA7BgNVHSUENDAy
|
||||
BggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMDBggrBgEFBQcDBAYIKwYBBQUH
|
||||
AwgwggHEBgNVHSAEggG7MIIBtzCCAbMGCWCGSAGG/WwCATCCAaQwOgYIKwYBBQUH
|
||||
AgEWLmh0dHA6Ly93d3cuZGlnaWNlcnQuY29tL3NzbC1jcHMtcmVwb3NpdG9yeS5o
|
||||
dG0wggFkBggrBgEFBQcCAjCCAVYeggFSAEEAbgB5ACAAdQBzAGUAIABvAGYAIAB0
|
||||
AGgAaQBzACAAQwBlAHIAdABpAGYAaQBjAGEAdABlACAAYwBvAG4AcwB0AGkAdAB1
|
||||
AHQAZQBzACAAYQBjAGMAZQBwAHQAYQBuAGMAZQAgAG8AZgAgAHQAaABlACAARABp
|
||||
AGcAaQBDAGUAcgB0ACAARQBWACAAQwBQAFMAIABhAG4AZAAgAHQAaABlACAAUgBl
|
||||
AGwAeQBpAG4AZwAgAFAAYQByAHQAeQAgAEEAZwByAGUAZQBtAGUAbgB0ACAAdwBo
|
||||
AGkAYwBoACAAbABpAG0AaQB0ACAAbABpAGEAYgBpAGwAaQB0AHkAIABhAG4AZAAg
|
||||
AGEAcgBlACAAaQBuAGMAbwByAHAAbwByAGEAdABlAGQAIABoAGUAcgBlAGkAbgAg
|
||||
AGIAeQAgAHIAZQBmAGUAcgBlAG4AYwBlAC4wEgYDVR0TAQH/BAgwBgEB/wIBADCB
|
||||
gwYIKwYBBQUHAQEEdzB1MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy
|
||||
dC5jb20wTQYIKwYBBQUHMAKGQWh0dHA6Ly93d3cuZGlnaWNlcnQuY29tL0NBQ2Vy
|
||||
dHMvRGlnaUNlcnRIaWdoQXNzdXJhbmNlRVZSb290Q0EuY3J0MIGPBgNVHR8EgYcw
|
||||
gYQwQKA+oDyGOmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEhpZ2hB
|
||||
c3N1cmFuY2VFVlJvb3RDQS5jcmwwQKA+oDyGOmh0dHA6Ly9jcmw0LmRpZ2ljZXJ0
|
||||
LmNvbS9EaWdpQ2VydEhpZ2hBc3N1cmFuY2VFVlJvb3RDQS5jcmwwHQYDVR0OBBYE
|
||||
FExYyyXwQU9S9CjIgUObpqig5pLlMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSYJhoI
|
||||
Au9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQBMeheHKF0XvLIyc7/NLvVYMR3wsXFU
|
||||
nNabZ5PbLwM+Fm8eA8lThKNWYB54lBuiqG+jpItSkdfdXJW777UWSemlQk808kf/
|
||||
roF/E1S3IMRwFcuBCoHLdFfcnN8kpCkMGPAc5K4HM+zxST5Vz25PDVR708noFUjU
|
||||
xbvcNRx3RQdIRYW9135TuMAW2ZXNi419yWBP0aKb49Aw1rRzNubS+QOy46T15bg+
|
||||
BEkAui6mSnKDcp33C4ypieez12Qf1uNgywPE3IjpnSUBAHHLA7QpYCWP+UbRe3Gu
|
||||
zVMSW4SOwg/H7ZMZ2cn6j1g0djIvruFQFGHUqFijyDATI+/GJYw2jxyA
|
||||
-----END CERTIFICATE-----
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 1116160165 (0x428740a5)
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority
|
||||
Validity
|
||||
Not Before: Oct 1 05:00:00 2006 GMT
|
||||
Not After : Jul 26 18:15:15 2014 GMT
|
||||
Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (2048 bit)
|
||||
Modulus (2048 bit):
|
||||
00:c6:cc:e5:73:e6:fb:d4:bb:e5:2d:2d:32:a6:df:
|
||||
e5:81:3f:c9:cd:25:49:b6:71:2a:c3:d5:94:34:67:
|
||||
a2:0a:1c:b0:5f:69:a6:40:b1:c4:b7:b2:8f:d0:98:
|
||||
a4:a9:41:59:3a:d3:dc:94:d6:3c:db:74:38:a4:4a:
|
||||
cc:4d:25:82:f7:4a:a5:53:12:38:ee:f3:49:6d:71:
|
||||
91:7e:63:b6:ab:a6:5f:c3:a4:84:f8:4f:62:51:be:
|
||||
f8:c5:ec:db:38:92:e3:06:e5:08:91:0c:c4:28:41:
|
||||
55:fb:cb:5a:89:15:7e:71:e8:35:bf:4d:72:09:3d:
|
||||
be:3a:38:50:5b:77:31:1b:8d:b3:c7:24:45:9a:a7:
|
||||
ac:6d:00:14:5a:04:b7:ba:13:eb:51:0a:98:41:41:
|
||||
22:4e:65:61:87:81:41:50:a6:79:5c:89:de:19:4a:
|
||||
57:d5:2e:e6:5d:1c:53:2c:7e:98:cd:1a:06:16:a4:
|
||||
68:73:d0:34:04:13:5c:a1:71:d3:5a:7c:55:db:5e:
|
||||
64:e1:37:87:30:56:04:e5:11:b4:29:80:12:f1:79:
|
||||
39:88:a2:02:11:7c:27:66:b7:88:b7:78:f2:ca:0a:
|
||||
a8:38:ab:0a:64:c2:bf:66:5d:95:84:c1:a1:25:1e:
|
||||
87:5d:1a:50:0b:20:12:cc:41:bb:6e:0b:51:38:b8:
|
||||
4b:cb
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:TRUE, pathlen:1
|
||||
X509v3 Extended Key Usage:
|
||||
TLS Web Server Authentication, TLS Web Client Authentication, E-mail Protection
|
||||
Authority Information Access:
|
||||
OCSP - URI:http://ocsp.entrust.net
|
||||
|
||||
X509v3 CRL Distribution Points:
|
||||
URI:http://crl.entrust.net/server1.crl
|
||||
|
||||
X509v3 Subject Key Identifier:
|
||||
B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
|
||||
X509v3 Key Usage:
|
||||
Certificate Sign, CRL Sign
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A
|
||||
|
||||
1.2.840.113533.7.65.0:
|
||||
0
|
||||
..V7.1....
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
48:0e:2b:6f:20:62:4c:28:93:a3:24:3d:58:ab:21:cf:80:f8:
|
||||
9a:97:90:6a:22:ed:5a:7c:47:36:99:e7:79:84:75:ab:24:8f:
|
||||
92:0a:d5:61:04:ae:c3:6a:5c:b2:cc:d9:e4:44:87:6f:db:8f:
|
||||
38:62:f7:44:36:9d:ba:bc:6e:07:c4:d4:8d:e8:1f:d1:0b:60:
|
||||
a3:b5:9c:ce:63:be:ed:67:dc:f8:ba:de:6e:c9:25:cb:5b:b5:
|
||||
9d:76:70:0b:df:42:72:f8:4f:41:11:64:a5:d2:ea:fc:d5:af:
|
||||
11:f4:15:38:67:9c:20:a8:4b:77:5a:91:32:42:32:e7:85:b3:
|
||||
df:36
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEQjCCA6ugAwIBAgIEQodApTANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
|
||||
VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
|
||||
ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
|
||||
KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
|
||||
ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEw
|
||||
MDEwNTAwMDBaFw0xNDA3MjYxODE1MTVaMGwxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
|
||||
EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xKzApBgNV
|
||||
BAMTIkRpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIEVWIFJvb3QgQ0EwggEiMA0GCSqG
|
||||
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGzOVz5vvUu+UtLTKm3+WBP8nNJUm2cSrD
|
||||
1ZQ0Z6IKHLBfaaZAscS3so/QmKSpQVk609yU1jzbdDikSsxNJYL3SqVTEjju80lt
|
||||
cZF+Y7arpl/DpIT4T2JRvvjF7Ns4kuMG5QiRDMQoQVX7y1qJFX5x6DW/TXIJPb46
|
||||
OFBbdzEbjbPHJEWap6xtABRaBLe6E+tRCphBQSJOZWGHgUFQpnlcid4ZSlfVLuZd
|
||||
HFMsfpjNGgYWpGhz0DQEE1yhcdNafFXbXmThN4cwVgTlEbQpgBLxeTmIogIRfCdm
|
||||
t4i3ePLKCqg4qwpkwr9mXZWEwaElHoddGlALIBLMQbtuC1E4uEvLAgMBAAGjggET
|
||||
MIIBDzASBgNVHRMBAf8ECDAGAQH/AgEBMCcGA1UdJQQgMB4GCCsGAQUFBwMBBggr
|
||||
BgEFBQcDAgYIKwYBBQUHAwQwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdo
|
||||
dHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8v
|
||||
Y3JsLmVudHJ1c3QubmV0L3NlcnZlcjEuY3JsMB0GA1UdDgQWBBSxPsNpA/i/RwHU
|
||||
mCYaCALvY2QrwzALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7
|
||||
UISX8+1i0BowGQYJKoZIhvZ9B0EABAwwChsEVjcuMQMCAIEwDQYJKoZIhvcNAQEF
|
||||
BQADgYEASA4rbyBiTCiToyQ9WKshz4D4mpeQaiLtWnxHNpnneYR1qySPkgrVYQSu
|
||||
w2pcsszZ5ESHb9uPOGL3RDadurxuB8TUjegf0Qtgo7WczmO+7Wfc+Lrebskly1u1
|
||||
nXZwC99CcvhPQRFkpdLq/NWvEfQVOGecIKhLd1qRMkIy54Wz3zY=
|
||||
-----END CERTIFICATE-----
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 927650371 (0x374ad243)
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority
|
||||
Validity
|
||||
Not Before: May 25 16:09:40 1999 GMT
|
||||
Not After : May 25 16:39:40 2019 GMT
|
||||
Subject: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (1024 bit)
|
||||
Modulus (1024 bit):
|
||||
00:cd:28:83:34:54:1b:89:f3:0f:af:37:91:31:ff:
|
||||
af:31:60:c9:a8:e8:b2:10:68:ed:9f:e7:93:36:f1:
|
||||
0a:64:bb:47:f5:04:17:3f:23:47:4d:c5:27:19:81:
|
||||
26:0c:54:72:0d:88:2d:d9:1f:9a:12:9f:bc:b3:71:
|
||||
d3:80:19:3f:47:66:7b:8c:35:28:d2:b9:0a:df:24:
|
||||
da:9c:d6:50:79:81:7a:5a:d3:37:f7:c2:4a:d8:29:
|
||||
92:26:64:d1:e4:98:6c:3a:00:8a:f5:34:9b:65:f8:
|
||||
ed:e3:10:ff:fd:b8:49:58:dc:a0:de:82:39:6b:81:
|
||||
b1:16:19:61:b9:54:b6:e6:43
|
||||
Exponent: 3 (0x3)
|
||||
X509v3 extensions:
|
||||
Netscape Cert Type:
|
||||
SSL CA, S/MIME CA, Object Signing CA
|
||||
X509v3 CRL Distribution Points:
|
||||
DirName:/C=US/O=Entrust.net/OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/OU=(c) 1999 Entrust.net Limited/CN=Entrust.net Secure Server Certification Authority/CN=CRL1
|
||||
URI:http://www.entrust.net/CRL/net1.crl
|
||||
|
||||
X509v3 Private Key Usage Period:
|
||||
Not Before: May 25 16:09:40 1999 GMT, Not After: May 25 16:09:40 2019 GMT
|
||||
X509v3 Key Usage:
|
||||
Certificate Sign, CRL Sign
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A
|
||||
|
||||
X509v3 Subject Key Identifier:
|
||||
F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A
|
||||
X509v3 Basic Constraints:
|
||||
CA:TRUE
|
||||
1.2.840.113533.7.65.0:
|
||||
0
|
||||
..V4.0....
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
90:dc:30:02:fa:64:74:c2:a7:0a:a5:7c:21:8d:34:17:a8:fb:
|
||||
47:0e:ff:25:7c:8d:13:0a:fb:e4:98:b5:ef:8c:f8:c5:10:0d:
|
||||
f7:92:be:f1:c3:d5:d5:95:6a:04:bb:2c:ce:26:36:65:c8:31:
|
||||
c6:e7:ee:3f:e3:57:75:84:7a:11:ef:46:4f:18:f4:d3:98:bb:
|
||||
a8:87:32:ba:72:f6:3c:e2:3d:9f:d7:1d:d9:c3:60:43:8c:58:
|
||||
0e:22:96:2f:62:a3:2c:1f:ba:ad:05:ef:ab:32:78:87:a0:54:
|
||||
73:19:b5:5c:05:f9:52:3e:6d:2d:45:0b:f7:0a:93:ea:ed:06:
|
||||
f9:b2
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
|
||||
VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
|
||||
ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
|
||||
KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
|
||||
ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1
|
||||
MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE
|
||||
ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j
|
||||
b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
|
||||
bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg
|
||||
U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA
|
||||
A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/
|
||||
I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3
|
||||
wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC
|
||||
AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb
|
||||
oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5
|
||||
BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p
|
||||
dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk
|
||||
MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp
|
||||
b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
|
||||
dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0
|
||||
MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi
|
||||
E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa
|
||||
MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI
|
||||
hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN
|
||||
95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd
|
||||
2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
|
||||
-----END CERTIFICATE-----
|
@@ -0,0 +1,563 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 145105 (0x236d1)
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
|
||||
Validity
|
||||
Not Before: Feb 19 22:45:05 2010 GMT
|
||||
Not After : Feb 18 22:45:05 2020 GMT
|
||||
Subject: C=US, O=GeoTrust, Inc., CN=RapidSSL CA
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (2048 bit)
|
||||
Modulus (2048 bit):
|
||||
00:c7:71:f8:56:c7:1e:d9:cc:b5:ad:f6:b4:97:a3:
|
||||
fb:a1:e6:0b:50:5f:50:aa:3a:da:0f:fc:3d:29:24:
|
||||
43:c6:10:29:c1:fc:55:40:72:ee:bd:ea:df:9f:b6:
|
||||
41:f4:48:4b:c8:6e:fe:4f:57:12:8b:5b:fa:92:dd:
|
||||
5e:e8:ad:f3:f0:1b:b1:7b:4d:fb:cf:fd:d1:e5:f8:
|
||||
e3:dc:e7:f5:73:7f:df:01:49:cf:8c:56:c1:bd:37:
|
||||
e3:5b:be:b5:4f:8b:8b:f0:da:4f:c7:e3:dd:55:47:
|
||||
69:df:f2:5b:7b:07:4f:3d:e5:ac:21:c1:c8:1d:7a:
|
||||
e8:e7:f6:0f:a1:aa:f5:6f:de:a8:65:4f:10:89:9c:
|
||||
03:f3:89:7a:a5:5e:01:72:33:ed:a9:e9:5a:1e:79:
|
||||
f3:87:c8:df:c8:c5:fc:37:c8:9a:9a:d7:b8:76:cc:
|
||||
b0:3e:e7:fd:e6:54:ea:df:5f:52:41:78:59:57:ad:
|
||||
f1:12:d6:7f:bc:d5:9f:70:d3:05:6c:fa:a3:7d:67:
|
||||
58:dd:26:62:1d:31:92:0c:79:79:1c:8e:cf:ca:7b:
|
||||
c1:66:af:a8:74:48:fb:8e:82:c2:9e:2c:99:5c:7b:
|
||||
2d:5d:9b:bc:5b:57:9e:7c:3a:7a:13:ad:f2:a3:18:
|
||||
5b:2b:59:0f:cd:5c:3a:eb:68:33:c6:28:1d:82:d1:
|
||||
50:8b
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Key Usage: critical
|
||||
Certificate Sign, CRL Sign
|
||||
X509v3 Subject Key Identifier:
|
||||
6B:69:3D:6A:18:42:4A:DD:8F:02:65:39:FD:35:24:86:78:91:16:30
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E
|
||||
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:TRUE, pathlen:0
|
||||
X509v3 CRL Distribution Points:
|
||||
URI:http://crl.geotrust.com/crls/gtglobal.crl
|
||||
|
||||
Authority Information Access:
|
||||
OCSP - URI:http://ocsp.geotrust.com
|
||||
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
ab:bc:bc:0a:5d:18:94:e3:c1:b1:c3:a8:4c:55:d6:be:b4:98:
|
||||
f1:ee:3c:1c:cd:cf:f3:24:24:5c:96:03:27:58:fc:36:ae:a2:
|
||||
2f:8f:f1:fe:da:2b:02:c3:33:bd:c8:dd:48:22:2b:60:0f:a5:
|
||||
03:10:fd:77:f8:d0:ed:96:67:4f:fd:ea:47:20:70:54:dc:a9:
|
||||
0c:55:7e:e1:96:25:8a:d9:b5:da:57:4a:be:8d:8e:49:43:63:
|
||||
a5:6c:4e:27:87:25:eb:5b:6d:fe:a2:7f:38:28:e0:36:ab:ad:
|
||||
39:a5:a5:62:c4:b7:5c:58:2c:aa:5d:01:60:a6:62:67:a3:c0:
|
||||
c7:62:23:f4:e7:6c:46:ee:b5:d3:80:6a:22:13:d2:2d:3f:74:
|
||||
4f:ea:af:8c:5f:b4:38:9c:db:ae:ce:af:84:1e:a6:f6:34:51:
|
||||
59:79:d3:e3:75:dc:bc:d7:f3:73:df:92:ec:d2:20:59:6f:9c:
|
||||
fb:95:f8:92:76:18:0a:7c:0f:2c:a6:ca:de:8a:62:7b:d8:f3:
|
||||
ce:5f:68:bd:8f:3e:c1:74:bb:15:72:3a:16:83:a9:0b:e6:4d:
|
||||
99:9c:d8:57:ec:a8:01:51:c7:6f:57:34:5e:ab:4a:2c:42:f6:
|
||||
4f:1c:89:78:de:26:4e:f5:6f:93:4c:15:6b:27:56:4d:00:54:
|
||||
6c:7a:b7:b7
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIID1TCCAr2gAwIBAgIDAjbRMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
|
||||
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
|
||||
YWwgQ0EwHhcNMTAwMjE5MjI0NTA1WhcNMjAwMjE4MjI0NTA1WjA8MQswCQYDVQQG
|
||||
EwJVUzEXMBUGA1UEChMOR2VvVHJ1c3QsIEluYy4xFDASBgNVBAMTC1JhcGlkU1NM
|
||||
IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx3H4Vsce2cy1rfa0
|
||||
l6P7oeYLUF9QqjraD/w9KSRDxhApwfxVQHLuverfn7ZB9EhLyG7+T1cSi1v6kt1e
|
||||
6K3z8Buxe037z/3R5fjj3Of1c3/fAUnPjFbBvTfjW761T4uL8NpPx+PdVUdp3/Jb
|
||||
ewdPPeWsIcHIHXro5/YPoar1b96oZU8QiZwD84l6pV4BcjPtqelaHnnzh8jfyMX8
|
||||
N8iamte4dsywPuf95lTq319SQXhZV63xEtZ/vNWfcNMFbPqjfWdY3SZiHTGSDHl5
|
||||
HI7PynvBZq+odEj7joLCniyZXHstXZu8W1eefDp6E63yoxhbK1kPzVw662gzxigd
|
||||
gtFQiwIDAQABo4HZMIHWMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUa2k9ahhC
|
||||
St2PAmU5/TUkhniRFjAwHwYDVR0jBBgwFoAUwHqYaI2J+6sFZAwRfap9ZbjKzE4w
|
||||
EgYDVR0TAQH/BAgwBgEB/wIBADA6BgNVHR8EMzAxMC+gLaArhilodHRwOi8vY3Js
|
||||
Lmdlb3RydXN0LmNvbS9jcmxzL2d0Z2xvYmFsLmNybDA0BggrBgEFBQcBAQQoMCYw
|
||||
JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmdlb3RydXN0LmNvbTANBgkqhkiG9w0B
|
||||
AQUFAAOCAQEAq7y8Cl0YlOPBscOoTFXWvrSY8e48HM3P8yQkXJYDJ1j8Nq6iL4/x
|
||||
/torAsMzvcjdSCIrYA+lAxD9d/jQ7ZZnT/3qRyBwVNypDFV+4ZYlitm12ldKvo2O
|
||||
SUNjpWxOJ4cl61tt/qJ/OCjgNqutOaWlYsS3XFgsql0BYKZiZ6PAx2Ij9OdsRu61
|
||||
04BqIhPSLT90T+qvjF+0OJzbrs6vhB6m9jRRWXnT43XcvNfzc9+S7NIgWW+c+5X4
|
||||
knYYCnwPLKbK3opie9jzzl9ovY8+wXS7FXI6FoOpC+ZNmZzYV+yoAVHHb1c0XqtK
|
||||
LEL2TxyJeN4mTvVvk0wVaydWTQBUbHq3tw==
|
||||
-----END CERTIFICATE-----
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 144470 (0x23456)
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
|
||||
Validity
|
||||
Not Before: May 21 04:00:00 2002 GMT
|
||||
Not After : May 21 04:00:00 2022 GMT
|
||||
Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (2048 bit)
|
||||
Modulus (2048 bit):
|
||||
00:da:cc:18:63:30:fd:f4:17:23:1a:56:7e:5b:df:
|
||||
3c:6c:38:e4:71:b7:78:91:d4:bc:a1:d8:4c:f8:a8:
|
||||
43:b6:03:e9:4d:21:07:08:88:da:58:2f:66:39:29:
|
||||
bd:05:78:8b:9d:38:e8:05:b7:6a:7e:71:a4:e6:c4:
|
||||
60:a6:b0:ef:80:e4:89:28:0f:9e:25:d6:ed:83:f3:
|
||||
ad:a6:91:c7:98:c9:42:18:35:14:9d:ad:98:46:92:
|
||||
2e:4f:ca:f1:87:43:c1:16:95:57:2d:50:ef:89:2d:
|
||||
80:7a:57:ad:f2:ee:5f:6b:d2:00:8d:b9:14:f8:14:
|
||||
15:35:d9:c0:46:a3:7b:72:c8:91:bf:c9:55:2b:cd:
|
||||
d0:97:3e:9c:26:64:cc:df:ce:83:19:71:ca:4e:e6:
|
||||
d4:d5:7b:a9:19:cd:55:de:c8:ec:d2:5e:38:53:e5:
|
||||
5c:4f:8c:2d:fe:50:23:36:fc:66:e6:cb:8e:a4:39:
|
||||
19:00:b7:95:02:39:91:0b:0e:fe:38:2e:d1:1d:05:
|
||||
9a:f6:4d:3e:6f:0f:07:1d:af:2c:1e:8f:60:39:e2:
|
||||
fa:36:53:13:39:d4:5e:26:2b:db:3d:a8:14:bd:32:
|
||||
eb:18:03:28:52:04:71:e5:ab:33:3d:e1:38:bb:07:
|
||||
36:84:62:9c:79:ea:16:30:f4:5f:c0:2b:e8:71:6b:
|
||||
e4:f9
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:TRUE
|
||||
X509v3 Subject Key Identifier:
|
||||
C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E
|
||||
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
35:e3:29:6a:e5:2f:5d:54:8e:29:50:94:9f:99:1a:14:e4:8f:
|
||||
78:2a:62:94:a2:27:67:9e:d0:cf:1a:5e:47:e9:c1:b2:a4:cf:
|
||||
dd:41:1a:05:4e:9b:4b:ee:4a:6f:55:52:b3:24:a1:37:0a:eb:
|
||||
64:76:2a:2e:2c:f3:fd:3b:75:90:bf:fa:71:d8:c7:3d:37:d2:
|
||||
b5:05:95:62:b9:a6:de:89:3d:36:7b:38:77:48:97:ac:a6:20:
|
||||
8f:2e:a6:c9:0c:c2:b2:99:45:00:c7:ce:11:51:22:22:e0:a5:
|
||||
ea:b6:15:48:09:64:ea:5e:4f:74:f7:05:3e:c7:8a:52:0c:db:
|
||||
15:b4:bd:6d:9b:e5:c6:b1:54:68:a9:e3:69:90:b6:9a:a5:0f:
|
||||
b8:b9:3f:20:7d:ae:4a:b5:b8:9c:e4:1d:b6:ab:e6:94:a5:c1:
|
||||
c7:83:ad:db:f5:27:87:0e:04:6c:d5:ff:dd:a0:5d:ed:87:52:
|
||||
b7:2b:15:02:ae:39:a6:6a:74:e9:da:c4:e7:bc:4d:34:1e:a9:
|
||||
5c:4d:33:5f:92:09:2f:88:66:5d:77:97:c7:1d:76:13:a9:d5:
|
||||
e5:f1:16:09:11:35:d5:ac:db:24:71:70:2c:98:56:0b:d9:17:
|
||||
b4:d1:e3:51:2b:5e:75:e8:d5:d0:dc:4f:34:ed:c2:05:66:80:
|
||||
a1:cb:e6:33
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
|
||||
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
|
||||
YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
|
||||
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
|
||||
R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
|
||||
9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
|
||||
fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
|
||||
iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
|
||||
1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
|
||||
bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
|
||||
MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
|
||||
ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
|
||||
uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
|
||||
Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
|
||||
tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
|
||||
PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
|
||||
hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
|
||||
5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
|
||||
-----END CERTIFICATE-----
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
03:37:b9:28:34:7c:60:a6:ae:c5:ad:b1:21:7f:38:60
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
|
||||
Validity
|
||||
Not Before: Nov 9 12:00:00 2007 GMT
|
||||
Not After : Nov 10 00:00:00 2021 GMT
|
||||
Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV CA-1
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (2048 bit)
|
||||
Modulus (2048 bit):
|
||||
00:f3:96:62:d8:75:6e:19:ff:3f:34:7c:49:4f:31:
|
||||
7e:0d:04:4e:99:81:e2:b3:85:55:91:30:b1:c0:af:
|
||||
70:bb:2c:a8:e7:18:aa:3f:78:f7:90:68:52:86:01:
|
||||
88:97:e2:3b:06:65:90:aa:bd:65:76:c2:ec:be:10:
|
||||
5b:37:78:83:60:75:45:c6:bd:74:aa:b6:9f:a4:3a:
|
||||
01:50:17:c4:39:69:b9:f1:4f:ef:82:c1:ca:f3:4a:
|
||||
db:cc:9e:50:4f:4d:40:a3:3a:90:e7:86:66:bc:f0:
|
||||
3e:76:28:4c:d1:75:80:9e:6a:35:14:35:03:9e:db:
|
||||
0c:8c:c2:28:ad:50:b2:ce:f6:91:a3:c3:a5:0a:58:
|
||||
49:f6:75:44:6c:ba:f9:ce:e9:ab:3a:02:e0:4d:f3:
|
||||
ac:e2:7a:e0:60:22:05:3c:82:d3:52:e2:f3:9c:47:
|
||||
f8:3b:d8:b2:4b:93:56:4a:bf:70:ab:3e:e9:68:c8:
|
||||
1d:8f:58:1d:2a:4d:5e:27:3d:ad:0a:59:2f:5a:11:
|
||||
20:40:d9:68:04:68:2d:f4:c0:84:0b:0a:1b:78:df:
|
||||
ed:1a:58:dc:fb:41:5a:6d:6b:f2:ed:1c:ee:5c:32:
|
||||
b6:5c:ec:d7:a6:03:32:a6:e8:de:b7:28:27:59:88:
|
||||
80:ff:7b:ad:89:58:d5:1e:14:a4:f2:b0:70:d4:a0:
|
||||
3e:a7
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Key Usage: critical
|
||||
Digital Signature, Certificate Sign, CRL Sign
|
||||
X509v3 Extended Key Usage:
|
||||
TLS Web Server Authentication, TLS Web Client Authentication, Code Signing, E-mail Protection, Time Stamping
|
||||
X509v3 Certificate Policies:
|
||||
Policy: 2.16.840.1.114412.2.1
|
||||
CPS: http://www.digicert.com/ssl-cps-repository.htm
|
||||
User Notice:
|
||||
Explicit Text:
|
||||
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:TRUE, pathlen:0
|
||||
Authority Information Access:
|
||||
OCSP - URI:http://ocsp.digicert.com
|
||||
CA Issuers - URI:http://www.digicert.com/CACerts/DigiCertHighAssuranceEVRootCA.crt
|
||||
|
||||
X509v3 CRL Distribution Points:
|
||||
URI:http://crl3.digicert.com/DigiCertHighAssuranceEVRootCA.crl
|
||||
URI:http://crl4.digicert.com/DigiCertHighAssuranceEVRootCA.crl
|
||||
|
||||
X509v3 Subject Key Identifier:
|
||||
4C:58:CB:25:F0:41:4F:52:F4:28:C8:81:43:9B:A6:A8:A0:E6:92:E5
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
|
||||
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
4c:7a:17:87:28:5d:17:bc:b2:32:73:bf:cd:2e:f5:58:31:1d:
|
||||
f0:b1:71:54:9c:d6:9b:67:93:db:2f:03:3e:16:6f:1e:03:c9:
|
||||
53:84:a3:56:60:1e:78:94:1b:a2:a8:6f:a3:a4:8b:52:91:d7:
|
||||
dd:5c:95:bb:ef:b5:16:49:e9:a5:42:4f:34:f2:47:ff:ae:81:
|
||||
7f:13:54:b7:20:c4:70:15:cb:81:0a:81:cb:74:57:dc:9c:df:
|
||||
24:a4:29:0c:18:f0:1c:e4:ae:07:33:ec:f1:49:3e:55:cf:6e:
|
||||
4f:0d:54:7b:d3:c9:e8:15:48:d4:c5:bb:dc:35:1c:77:45:07:
|
||||
48:45:85:bd:d7:7e:53:b8:c0:16:d9:95:cd:8b:8d:7d:c9:60:
|
||||
4f:d1:a2:9b:e3:d0:30:d6:b4:73:36:e6:d2:f9:03:b2:e3:a4:
|
||||
f5:e5:b8:3e:04:49:00:ba:2e:a6:4a:72:83:72:9d:f7:0b:8c:
|
||||
a9:89:e7:b3:d7:64:1f:d6:e3:60:cb:03:c4:dc:88:e9:9d:25:
|
||||
01:00:71:cb:03:b4:29:60:25:8f:f9:46:d1:7b:71:ae:cd:53:
|
||||
12:5b:84:8e:c2:0f:c7:ed:93:19:d9:c9:fa:8f:58:34:76:32:
|
||||
2f:ae:e1:50:14:61:d4:a8:58:a3:c8:30:13:23:ef:c6:25:8c:
|
||||
36:8f:1c:80
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIG5jCCBc6gAwIBAgIQAze5KDR8YKauxa2xIX84YDANBgkqhkiG9w0BAQUFADBs
|
||||
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
||||
d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
|
||||
ZSBFViBSb290IENBMB4XDTA3MTEwOTEyMDAwMFoXDTIxMTExMDAwMDAwMFowaTEL
|
||||
MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
|
||||
LmRpZ2ljZXJ0LmNvbTEoMCYGA1UEAxMfRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
|
||||
RVYgQ0EtMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPOWYth1bhn/
|
||||
PzR8SU8xfg0ETpmB4rOFVZEwscCvcLssqOcYqj9495BoUoYBiJfiOwZlkKq9ZXbC
|
||||
7L4QWzd4g2B1Rca9dKq2n6Q6AVAXxDlpufFP74LByvNK28yeUE9NQKM6kOeGZrzw
|
||||
PnYoTNF1gJ5qNRQ1A57bDIzCKK1Qss72kaPDpQpYSfZ1RGy6+c7pqzoC4E3zrOJ6
|
||||
4GAiBTyC01Li85xH+DvYskuTVkq/cKs+6WjIHY9YHSpNXic9rQpZL1oRIEDZaARo
|
||||
LfTAhAsKG3jf7RpY3PtBWm1r8u0c7lwytlzs16YDMqbo3rcoJ1mIgP97rYlY1R4U
|
||||
pPKwcNSgPqcCAwEAAaOCA4UwggOBMA4GA1UdDwEB/wQEAwIBhjA7BgNVHSUENDAy
|
||||
BggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMDBggrBgEFBQcDBAYIKwYBBQUH
|
||||
AwgwggHEBgNVHSAEggG7MIIBtzCCAbMGCWCGSAGG/WwCATCCAaQwOgYIKwYBBQUH
|
||||
AgEWLmh0dHA6Ly93d3cuZGlnaWNlcnQuY29tL3NzbC1jcHMtcmVwb3NpdG9yeS5o
|
||||
dG0wggFkBggrBgEFBQcCAjCCAVYeggFSAEEAbgB5ACAAdQBzAGUAIABvAGYAIAB0
|
||||
AGgAaQBzACAAQwBlAHIAdABpAGYAaQBjAGEAdABlACAAYwBvAG4AcwB0AGkAdAB1
|
||||
AHQAZQBzACAAYQBjAGMAZQBwAHQAYQBuAGMAZQAgAG8AZgAgAHQAaABlACAARABp
|
||||
AGcAaQBDAGUAcgB0ACAARQBWACAAQwBQAFMAIABhAG4AZAAgAHQAaABlACAAUgBl
|
||||
AGwAeQBpAG4AZwAgAFAAYQByAHQAeQAgAEEAZwByAGUAZQBtAGUAbgB0ACAAdwBo
|
||||
AGkAYwBoACAAbABpAG0AaQB0ACAAbABpAGEAYgBpAGwAaQB0AHkAIABhAG4AZAAg
|
||||
AGEAcgBlACAAaQBuAGMAbwByAHAAbwByAGEAdABlAGQAIABoAGUAcgBlAGkAbgAg
|
||||
AGIAeQAgAHIAZQBmAGUAcgBlAG4AYwBlAC4wEgYDVR0TAQH/BAgwBgEB/wIBADCB
|
||||
gwYIKwYBBQUHAQEEdzB1MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy
|
||||
dC5jb20wTQYIKwYBBQUHMAKGQWh0dHA6Ly93d3cuZGlnaWNlcnQuY29tL0NBQ2Vy
|
||||
dHMvRGlnaUNlcnRIaWdoQXNzdXJhbmNlRVZSb290Q0EuY3J0MIGPBgNVHR8EgYcw
|
||||
gYQwQKA+oDyGOmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEhpZ2hB
|
||||
c3N1cmFuY2VFVlJvb3RDQS5jcmwwQKA+oDyGOmh0dHA6Ly9jcmw0LmRpZ2ljZXJ0
|
||||
LmNvbS9EaWdpQ2VydEhpZ2hBc3N1cmFuY2VFVlJvb3RDQS5jcmwwHQYDVR0OBBYE
|
||||
FExYyyXwQU9S9CjIgUObpqig5pLlMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSYJhoI
|
||||
Au9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQBMeheHKF0XvLIyc7/NLvVYMR3wsXFU
|
||||
nNabZ5PbLwM+Fm8eA8lThKNWYB54lBuiqG+jpItSkdfdXJW777UWSemlQk808kf/
|
||||
roF/E1S3IMRwFcuBCoHLdFfcnN8kpCkMGPAc5K4HM+zxST5Vz25PDVR708noFUjU
|
||||
xbvcNRx3RQdIRYW9135TuMAW2ZXNi419yWBP0aKb49Aw1rRzNubS+QOy46T15bg+
|
||||
BEkAui6mSnKDcp33C4ypieez12Qf1uNgywPE3IjpnSUBAHHLA7QpYCWP+UbRe3Gu
|
||||
zVMSW4SOwg/H7ZMZ2cn6j1g0djIvruFQFGHUqFijyDATI+/GJYw2jxyA
|
||||
-----END CERTIFICATE-----
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 1116160165 (0x428740a5)
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority
|
||||
Validity
|
||||
Not Before: Oct 1 05:00:00 2006 GMT
|
||||
Not After : Jul 26 18:15:15 2014 GMT
|
||||
Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (2048 bit)
|
||||
Modulus (2048 bit):
|
||||
00:c6:cc:e5:73:e6:fb:d4:bb:e5:2d:2d:32:a6:df:
|
||||
e5:81:3f:c9:cd:25:49:b6:71:2a:c3:d5:94:34:67:
|
||||
a2:0a:1c:b0:5f:69:a6:40:b1:c4:b7:b2:8f:d0:98:
|
||||
a4:a9:41:59:3a:d3:dc:94:d6:3c:db:74:38:a4:4a:
|
||||
cc:4d:25:82:f7:4a:a5:53:12:38:ee:f3:49:6d:71:
|
||||
91:7e:63:b6:ab:a6:5f:c3:a4:84:f8:4f:62:51:be:
|
||||
f8:c5:ec:db:38:92:e3:06:e5:08:91:0c:c4:28:41:
|
||||
55:fb:cb:5a:89:15:7e:71:e8:35:bf:4d:72:09:3d:
|
||||
be:3a:38:50:5b:77:31:1b:8d:b3:c7:24:45:9a:a7:
|
||||
ac:6d:00:14:5a:04:b7:ba:13:eb:51:0a:98:41:41:
|
||||
22:4e:65:61:87:81:41:50:a6:79:5c:89:de:19:4a:
|
||||
57:d5:2e:e6:5d:1c:53:2c:7e:98:cd:1a:06:16:a4:
|
||||
68:73:d0:34:04:13:5c:a1:71:d3:5a:7c:55:db:5e:
|
||||
64:e1:37:87:30:56:04:e5:11:b4:29:80:12:f1:79:
|
||||
39:88:a2:02:11:7c:27:66:b7:88:b7:78:f2:ca:0a:
|
||||
a8:38:ab:0a:64:c2:bf:66:5d:95:84:c1:a1:25:1e:
|
||||
87:5d:1a:50:0b:20:12:cc:41:bb:6e:0b:51:38:b8:
|
||||
4b:cb
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:TRUE, pathlen:1
|
||||
X509v3 Extended Key Usage:
|
||||
TLS Web Server Authentication, TLS Web Client Authentication, E-mail Protection
|
||||
Authority Information Access:
|
||||
OCSP - URI:http://ocsp.entrust.net
|
||||
|
||||
X509v3 CRL Distribution Points:
|
||||
URI:http://crl.entrust.net/server1.crl
|
||||
|
||||
X509v3 Subject Key Identifier:
|
||||
B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
|
||||
X509v3 Key Usage:
|
||||
Certificate Sign, CRL Sign
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A
|
||||
|
||||
1.2.840.113533.7.65.0:
|
||||
0
|
||||
..V7.1....
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
48:0e:2b:6f:20:62:4c:28:93:a3:24:3d:58:ab:21:cf:80:f8:
|
||||
9a:97:90:6a:22:ed:5a:7c:47:36:99:e7:79:84:75:ab:24:8f:
|
||||
92:0a:d5:61:04:ae:c3:6a:5c:b2:cc:d9:e4:44:87:6f:db:8f:
|
||||
38:62:f7:44:36:9d:ba:bc:6e:07:c4:d4:8d:e8:1f:d1:0b:60:
|
||||
a3:b5:9c:ce:63:be:ed:67:dc:f8:ba:de:6e:c9:25:cb:5b:b5:
|
||||
9d:76:70:0b:df:42:72:f8:4f:41:11:64:a5:d2:ea:fc:d5:af:
|
||||
11:f4:15:38:67:9c:20:a8:4b:77:5a:91:32:42:32:e7:85:b3:
|
||||
df:36
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEQjCCA6ugAwIBAgIEQodApTANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
|
||||
VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
|
||||
ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
|
||||
KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
|
||||
ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEw
|
||||
MDEwNTAwMDBaFw0xNDA3MjYxODE1MTVaMGwxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
|
||||
EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xKzApBgNV
|
||||
BAMTIkRpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIEVWIFJvb3QgQ0EwggEiMA0GCSqG
|
||||
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGzOVz5vvUu+UtLTKm3+WBP8nNJUm2cSrD
|
||||
1ZQ0Z6IKHLBfaaZAscS3so/QmKSpQVk609yU1jzbdDikSsxNJYL3SqVTEjju80lt
|
||||
cZF+Y7arpl/DpIT4T2JRvvjF7Ns4kuMG5QiRDMQoQVX7y1qJFX5x6DW/TXIJPb46
|
||||
OFBbdzEbjbPHJEWap6xtABRaBLe6E+tRCphBQSJOZWGHgUFQpnlcid4ZSlfVLuZd
|
||||
HFMsfpjNGgYWpGhz0DQEE1yhcdNafFXbXmThN4cwVgTlEbQpgBLxeTmIogIRfCdm
|
||||
t4i3ePLKCqg4qwpkwr9mXZWEwaElHoddGlALIBLMQbtuC1E4uEvLAgMBAAGjggET
|
||||
MIIBDzASBgNVHRMBAf8ECDAGAQH/AgEBMCcGA1UdJQQgMB4GCCsGAQUFBwMBBggr
|
||||
BgEFBQcDAgYIKwYBBQUHAwQwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdo
|
||||
dHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8v
|
||||
Y3JsLmVudHJ1c3QubmV0L3NlcnZlcjEuY3JsMB0GA1UdDgQWBBSxPsNpA/i/RwHU
|
||||
mCYaCALvY2QrwzALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7
|
||||
UISX8+1i0BowGQYJKoZIhvZ9B0EABAwwChsEVjcuMQMCAIEwDQYJKoZIhvcNAQEF
|
||||
BQADgYEASA4rbyBiTCiToyQ9WKshz4D4mpeQaiLtWnxHNpnneYR1qySPkgrVYQSu
|
||||
w2pcsszZ5ESHb9uPOGL3RDadurxuB8TUjegf0Qtgo7WczmO+7Wfc+Lrebskly1u1
|
||||
nXZwC99CcvhPQRFkpdLq/NWvEfQVOGecIKhLd1qRMkIy54Wz3zY=
|
||||
-----END CERTIFICATE-----
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 927650371 (0x374ad243)
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority
|
||||
Validity
|
||||
Not Before: May 25 16:09:40 1999 GMT
|
||||
Not After : May 25 16:39:40 2019 GMT
|
||||
Subject: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (1024 bit)
|
||||
Modulus (1024 bit):
|
||||
00:cd:28:83:34:54:1b:89:f3:0f:af:37:91:31:ff:
|
||||
af:31:60:c9:a8:e8:b2:10:68:ed:9f:e7:93:36:f1:
|
||||
0a:64:bb:47:f5:04:17:3f:23:47:4d:c5:27:19:81:
|
||||
26:0c:54:72:0d:88:2d:d9:1f:9a:12:9f:bc:b3:71:
|
||||
d3:80:19:3f:47:66:7b:8c:35:28:d2:b9:0a:df:24:
|
||||
da:9c:d6:50:79:81:7a:5a:d3:37:f7:c2:4a:d8:29:
|
||||
92:26:64:d1:e4:98:6c:3a:00:8a:f5:34:9b:65:f8:
|
||||
ed:e3:10:ff:fd:b8:49:58:dc:a0:de:82:39:6b:81:
|
||||
b1:16:19:61:b9:54:b6:e6:43
|
||||
Exponent: 3 (0x3)
|
||||
X509v3 extensions:
|
||||
Netscape Cert Type:
|
||||
SSL CA, S/MIME CA, Object Signing CA
|
||||
X509v3 CRL Distribution Points:
|
||||
DirName:/C=US/O=Entrust.net/OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/OU=(c) 1999 Entrust.net Limited/CN=Entrust.net Secure Server Certification Authority/CN=CRL1
|
||||
URI:http://www.entrust.net/CRL/net1.crl
|
||||
|
||||
X509v3 Private Key Usage Period:
|
||||
Not Before: May 25 16:09:40 1999 GMT, Not After: May 25 16:09:40 2019 GMT
|
||||
X509v3 Key Usage:
|
||||
Certificate Sign, CRL Sign
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A
|
||||
|
||||
X509v3 Subject Key Identifier:
|
||||
F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A
|
||||
X509v3 Basic Constraints:
|
||||
CA:TRUE
|
||||
1.2.840.113533.7.65.0:
|
||||
0
|
||||
..V4.0....
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
90:dc:30:02:fa:64:74:c2:a7:0a:a5:7c:21:8d:34:17:a8:fb:
|
||||
47:0e:ff:25:7c:8d:13:0a:fb:e4:98:b5:ef:8c:f8:c5:10:0d:
|
||||
f7:92:be:f1:c3:d5:d5:95:6a:04:bb:2c:ce:26:36:65:c8:31:
|
||||
c6:e7:ee:3f:e3:57:75:84:7a:11:ef:46:4f:18:f4:d3:98:bb:
|
||||
a8:87:32:ba:72:f6:3c:e2:3d:9f:d7:1d:d9:c3:60:43:8c:58:
|
||||
0e:22:96:2f:62:a3:2c:1f:ba:ad:05:ef:ab:32:78:87:a0:54:
|
||||
73:19:b5:5c:05:f9:52:3e:6d:2d:45:0b:f7:0a:93:ea:ed:06:
|
||||
f9:b2
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
|
||||
VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
|
||||
ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
|
||||
KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
|
||||
ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1
|
||||
MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE
|
||||
ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j
|
||||
b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
|
||||
bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg
|
||||
U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA
|
||||
A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/
|
||||
I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3
|
||||
wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC
|
||||
AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb
|
||||
oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5
|
||||
BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p
|
||||
dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk
|
||||
MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp
|
||||
b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
|
||||
dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0
|
||||
MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi
|
||||
E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa
|
||||
MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI
|
||||
hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN
|
||||
95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd
|
||||
2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
|
||||
-----END CERTIFICATE-----
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
0a:5f:11:4d:03:5b:17:91:17:d2:ef:d4:03:8c:3f:3b
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
|
||||
Validity
|
||||
Not Before: Apr 2 12:00:00 2008 GMT
|
||||
Not After : Apr 3 00:00:00 2022 GMT
|
||||
Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance CA-3
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
Public-Key: (2048 bit)
|
||||
Modulus:
|
||||
00:bf:61:0a:29:10:1f:5e:fe:34:37:51:08:f8:1e:
|
||||
fb:22:ed:61:be:0b:0d:70:4c:50:63:26:75:15:b9:
|
||||
41:88:97:b6:f0:a0:15:bb:08:60:e0:42:e8:05:29:
|
||||
10:87:36:8a:28:65:a8:ef:31:07:74:6d:36:97:2f:
|
||||
28:46:66:04:c7:2a:79:26:7a:99:d5:8e:c3:6d:4f:
|
||||
a0:5e:ad:bc:3d:91:c2:59:7b:5e:36:6c:c0:53:cf:
|
||||
00:08:32:3e:10:64:58:10:13:69:c7:0c:ee:9c:42:
|
||||
51:00:f9:05:44:ee:24:ce:7a:1f:ed:8c:11:bd:12:
|
||||
a8:f3:15:f4:1c:7a:31:69:01:1b:a7:e6:5d:c0:9a:
|
||||
6c:7e:09:9e:e7:52:44:4a:10:3a:23:e4:9b:b6:03:
|
||||
af:a8:9c:b4:5b:9f:d4:4b:ad:92:8c:ce:b5:11:2a:
|
||||
aa:37:18:8d:b4:c2:b8:d8:5c:06:8c:f8:ff:23:bd:
|
||||
35:5e:d4:7c:3e:7e:83:0e:91:96:05:98:c3:b2:1f:
|
||||
e3:c8:65:eb:a9:7b:5d:a0:2c:cc:fc:3c:d9:6d:ed:
|
||||
cc:fa:4b:43:8c:c9:d4:b8:a5:61:1c:b2:40:b6:28:
|
||||
12:df:b9:f8:5f:fe:d3:b2:c9:ef:3d:b4:1e:4b:7c:
|
||||
1c:4c:99:36:9e:3d:eb:ec:a7:68:5e:1d:df:67:6e:
|
||||
5e:fb
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Key Usage: critical
|
||||
Digital Signature, Certificate Sign, CRL Sign
|
||||
X509v3 Certificate Policies:
|
||||
Policy: 2.16.840.1.114412.1.3.0.2
|
||||
CPS: http://www.digicert.com/ssl-cps-repository.htm
|
||||
User Notice:
|
||||
Explicit Text:
|
||||
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:TRUE, pathlen:0
|
||||
Authority Information Access:
|
||||
OCSP - URI:http://ocsp.digicert.com
|
||||
|
||||
X509v3 CRL Distribution Points:
|
||||
|
||||
Full Name:
|
||||
URI:http://crl3.digicert.com/DigiCertHighAssuranceEVRootCA.crl
|
||||
|
||||
Full Name:
|
||||
URI:http://crl4.digicert.com/DigiCertHighAssuranceEVRootCA.crl
|
||||
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
|
||||
|
||||
X509v3 Subject Key Identifier:
|
||||
50:EA:73:89:DB:29:FB:10:8F:9E:E5:01:20:D4:DE:79:99:48:83:F7
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
1e:e2:a5:48:9e:6c:db:53:38:0f:ef:a6:1a:2a:ac:e2:03:43:
|
||||
ed:9a:bc:3e:8e:75:1b:f0:fd:2e:22:59:ac:13:c0:61:e2:e7:
|
||||
fa:e9:99:cd:87:09:75:54:28:bf:46:60:dc:be:51:2c:92:f3:
|
||||
1b:91:7c:31:08:70:e2:37:b9:c1:5b:a8:bd:a3:0b:00:fb:1a:
|
||||
15:fd:03:ad:58:6a:c5:c7:24:99:48:47:46:31:1e:92:ef:b4:
|
||||
5f:4e:34:c7:90:bf:31:c1:f8:b1:84:86:d0:9c:01:aa:df:8a:
|
||||
56:06:ce:3a:e9:0e:ae:97:74:5d:d7:71:9a:42:74:5f:de:8d:
|
||||
43:7c:de:e9:55:ed:69:00:cb:05:e0:7a:61:61:33:d1:19:4d:
|
||||
f9:08:ee:a0:39:c5:25:35:b7:2b:c4:0f:b2:dd:f1:a5:b7:0e:
|
||||
24:c4:26:28:8d:79:77:f5:2f:f0:57:ba:7c:07:d4:e1:fc:cd:
|
||||
5a:30:57:7e:86:10:47:dd:31:1f:d7:fc:a2:c2:bf:30:7c:5d:
|
||||
24:aa:e8:f9:ae:5f:6a:74:c2:ce:6b:b3:46:d8:21:be:29:d4:
|
||||
8e:5e:15:d6:42:4a:e7:32:6f:a4:b1:6b:51:83:58:be:3f:6d:
|
||||
c7:fb:da:03:21:cb:6a:16:19:4e:0a:f0:ad:84:ca:5d:94:b3:
|
||||
5a:76:f7:61
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGWDCCBUCgAwIBAgIQCl8RTQNbF5EX0u/UA4w/OzANBgkqhkiG9w0BAQUFADBs
|
||||
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
||||
d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
|
||||
ZSBFViBSb290IENBMB4XDTA4MDQwMjEyMDAwMFoXDTIyMDQwMzAwMDAwMFowZjEL
|
||||
MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
|
||||
LmRpZ2ljZXJ0LmNvbTElMCMGA1UEAxMcRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
|
||||
Q0EtMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9hCikQH17+NDdR
|
||||
CPge+yLtYb4LDXBMUGMmdRW5QYiXtvCgFbsIYOBC6AUpEIc2iihlqO8xB3RtNpcv
|
||||
KEZmBMcqeSZ6mdWOw21PoF6tvD2Rwll7XjZswFPPAAgyPhBkWBATaccM7pxCUQD5
|
||||
BUTuJM56H+2MEb0SqPMV9Bx6MWkBG6fmXcCabH4JnudSREoQOiPkm7YDr6ictFuf
|
||||
1EutkozOtREqqjcYjbTCuNhcBoz4/yO9NV7UfD5+gw6RlgWYw7If48hl66l7XaAs
|
||||
zPw82W3tzPpLQ4zJ1LilYRyyQLYoEt+5+F/+07LJ7z20Hkt8HEyZNp496+ynaF4d
|
||||
32duXvsCAwEAAaOCAvowggL2MA4GA1UdDwEB/wQEAwIBhjCCAcYGA1UdIASCAb0w
|
||||
ggG5MIIBtQYLYIZIAYb9bAEDAAIwggGkMDoGCCsGAQUFBwIBFi5odHRwOi8vd3d3
|
||||
LmRpZ2ljZXJ0LmNvbS9zc2wtY3BzLXJlcG9zaXRvcnkuaHRtMIIBZAYIKwYBBQUH
|
||||
AgIwggFWHoIBUgBBAG4AeQAgAHUAcwBlACAAbwBmACAAdABoAGkAcwAgAEMAZQBy
|
||||
AHQAaQBmAGkAYwBhAHQAZQAgAGMAbwBuAHMAdABpAHQAdQB0AGUAcwAgAGEAYwBj
|
||||
AGUAcAB0AGEAbgBjAGUAIABvAGYAIAB0AGgAZQAgAEQAaQBnAGkAQwBlAHIAdAAg
|
||||
AEMAUAAvAEMAUABTACAAYQBuAGQAIAB0AGgAZQAgAFIAZQBsAHkAaQBuAGcAIABQ
|
||||
AGEAcgB0AHkAIABBAGcAcgBlAGUAbQBlAG4AdAAgAHcAaABpAGMAaAAgAGwAaQBt
|
||||
AGkAdAAgAGwAaQBhAGIAaQBsAGkAdAB5ACAAYQBuAGQAIABhAHIAZQAgAGkAbgBj
|
||||
AG8AcgBwAG8AcgBhAHQAZQBkACAAaABlAHIAZQBpAG4AIABiAHkAIAByAGUAZgBl
|
||||
AHIAZQBuAGMAZQAuMBIGA1UdEwEB/wQIMAYBAf8CAQAwNAYIKwYBBQUHAQEEKDAm
|
||||
MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wgY8GA1UdHwSB
|
||||
hzCBhDBAoD6gPIY6aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0SGln
|
||||
aEFzc3VyYW5jZUVWUm9vdENBLmNybDBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNl
|
||||
cnQuY29tL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDAfBgNVHSME
|
||||
GDAWgBSxPsNpA/i/RwHUmCYaCALvY2QrwzAdBgNVHQ4EFgQUUOpzidsp+xCPnuUB
|
||||
INTeeZlIg/cwDQYJKoZIhvcNAQEFBQADggEBAB7ipUiebNtTOA/vphoqrOIDQ+2a
|
||||
vD6OdRvw/S4iWawTwGHi5/rpmc2HCXVUKL9GYNy+USyS8xuRfDEIcOI3ucFbqL2j
|
||||
CwD7GhX9A61YasXHJJlIR0YxHpLvtF9ONMeQvzHB+LGEhtCcAarfilYGzjrpDq6X
|
||||
dF3XcZpCdF/ejUN83ulV7WkAywXgemFhM9EZTfkI7qA5xSU1tyvED7Ld8aW3DiTE
|
||||
JiiNeXf1L/BXunwH1OH8zVowV36GEEfdMR/X/KLCvzB8XSSq6PmuX2p0ws5rs0bY
|
||||
Ib4p1I5eFdZCSucyb6Sxa1GDWL4/bcf72gMhy2oWGU4K8K2Eyl2Us1p292E=
|
||||
-----END CERTIFICATE-----
|
@@ -0,0 +1,197 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
0a:5f:11:4d:03:5b:17:91:17:d2:ef:d4:03:8c:3f:3b
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
|
||||
Validity
|
||||
Not Before: Apr 2 12:00:00 2008 GMT
|
||||
Not After : Apr 3 00:00:00 2022 GMT
|
||||
Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance CA-3
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (2048 bit)
|
||||
Modulus (2048 bit):
|
||||
00:bf:61:0a:29:10:1f:5e:fe:34:37:51:08:f8:1e:
|
||||
fb:22:ed:61:be:0b:0d:70:4c:50:63:26:75:15:b9:
|
||||
41:88:97:b6:f0:a0:15:bb:08:60:e0:42:e8:05:29:
|
||||
10:87:36:8a:28:65:a8:ef:31:07:74:6d:36:97:2f:
|
||||
28:46:66:04:c7:2a:79:26:7a:99:d5:8e:c3:6d:4f:
|
||||
a0:5e:ad:bc:3d:91:c2:59:7b:5e:36:6c:c0:53:cf:
|
||||
00:08:32:3e:10:64:58:10:13:69:c7:0c:ee:9c:42:
|
||||
51:00:f9:05:44:ee:24:ce:7a:1f:ed:8c:11:bd:12:
|
||||
a8:f3:15:f4:1c:7a:31:69:01:1b:a7:e6:5d:c0:9a:
|
||||
6c:7e:09:9e:e7:52:44:4a:10:3a:23:e4:9b:b6:03:
|
||||
af:a8:9c:b4:5b:9f:d4:4b:ad:92:8c:ce:b5:11:2a:
|
||||
aa:37:18:8d:b4:c2:b8:d8:5c:06:8c:f8:ff:23:bd:
|
||||
35:5e:d4:7c:3e:7e:83:0e:91:96:05:98:c3:b2:1f:
|
||||
e3:c8:65:eb:a9:7b:5d:a0:2c:cc:fc:3c:d9:6d:ed:
|
||||
cc:fa:4b:43:8c:c9:d4:b8:a5:61:1c:b2:40:b6:28:
|
||||
12:df:b9:f8:5f:fe:d3:b2:c9:ef:3d:b4:1e:4b:7c:
|
||||
1c:4c:99:36:9e:3d:eb:ec:a7:68:5e:1d:df:67:6e:
|
||||
5e:fb
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Key Usage: critical
|
||||
Digital Signature, Certificate Sign, CRL Sign
|
||||
X509v3 Certificate Policies:
|
||||
Policy: 2.16.840.1.114412.1.3.0.2
|
||||
CPS: http://www.digicert.com/ssl-cps-repository.htm
|
||||
User Notice:
|
||||
Explicit Text:
|
||||
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:TRUE, pathlen:0
|
||||
Authority Information Access:
|
||||
OCSP - URI:http://ocsp.digicert.com
|
||||
|
||||
X509v3 CRL Distribution Points:
|
||||
URI:http://crl3.digicert.com/DigiCertHighAssuranceEVRootCA.crl
|
||||
URI:http://crl4.digicert.com/DigiCertHighAssuranceEVRootCA.crl
|
||||
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
|
||||
|
||||
X509v3 Subject Key Identifier:
|
||||
50:EA:73:89:DB:29:FB:10:8F:9E:E5:01:20:D4:DE:79:99:48:83:F7
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
1e:e2:a5:48:9e:6c:db:53:38:0f:ef:a6:1a:2a:ac:e2:03:43:
|
||||
ed:9a:bc:3e:8e:75:1b:f0:fd:2e:22:59:ac:13:c0:61:e2:e7:
|
||||
fa:e9:99:cd:87:09:75:54:28:bf:46:60:dc:be:51:2c:92:f3:
|
||||
1b:91:7c:31:08:70:e2:37:b9:c1:5b:a8:bd:a3:0b:00:fb:1a:
|
||||
15:fd:03:ad:58:6a:c5:c7:24:99:48:47:46:31:1e:92:ef:b4:
|
||||
5f:4e:34:c7:90:bf:31:c1:f8:b1:84:86:d0:9c:01:aa:df:8a:
|
||||
56:06:ce:3a:e9:0e:ae:97:74:5d:d7:71:9a:42:74:5f:de:8d:
|
||||
43:7c:de:e9:55:ed:69:00:cb:05:e0:7a:61:61:33:d1:19:4d:
|
||||
f9:08:ee:a0:39:c5:25:35:b7:2b:c4:0f:b2:dd:f1:a5:b7:0e:
|
||||
24:c4:26:28:8d:79:77:f5:2f:f0:57:ba:7c:07:d4:e1:fc:cd:
|
||||
5a:30:57:7e:86:10:47:dd:31:1f:d7:fc:a2:c2:bf:30:7c:5d:
|
||||
24:aa:e8:f9:ae:5f:6a:74:c2:ce:6b:b3:46:d8:21:be:29:d4:
|
||||
8e:5e:15:d6:42:4a:e7:32:6f:a4:b1:6b:51:83:58:be:3f:6d:
|
||||
c7:fb:da:03:21:cb:6a:16:19:4e:0a:f0:ad:84:ca:5d:94:b3:
|
||||
5a:76:f7:61
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGWDCCBUCgAwIBAgIQCl8RTQNbF5EX0u/UA4w/OzANBgkqhkiG9w0BAQUFADBs
|
||||
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
||||
d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
|
||||
ZSBFViBSb290IENBMB4XDTA4MDQwMjEyMDAwMFoXDTIyMDQwMzAwMDAwMFowZjEL
|
||||
MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
|
||||
LmRpZ2ljZXJ0LmNvbTElMCMGA1UEAxMcRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
|
||||
Q0EtMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9hCikQH17+NDdR
|
||||
CPge+yLtYb4LDXBMUGMmdRW5QYiXtvCgFbsIYOBC6AUpEIc2iihlqO8xB3RtNpcv
|
||||
KEZmBMcqeSZ6mdWOw21PoF6tvD2Rwll7XjZswFPPAAgyPhBkWBATaccM7pxCUQD5
|
||||
BUTuJM56H+2MEb0SqPMV9Bx6MWkBG6fmXcCabH4JnudSREoQOiPkm7YDr6ictFuf
|
||||
1EutkozOtREqqjcYjbTCuNhcBoz4/yO9NV7UfD5+gw6RlgWYw7If48hl66l7XaAs
|
||||
zPw82W3tzPpLQ4zJ1LilYRyyQLYoEt+5+F/+07LJ7z20Hkt8HEyZNp496+ynaF4d
|
||||
32duXvsCAwEAAaOCAvowggL2MA4GA1UdDwEB/wQEAwIBhjCCAcYGA1UdIASCAb0w
|
||||
ggG5MIIBtQYLYIZIAYb9bAEDAAIwggGkMDoGCCsGAQUFBwIBFi5odHRwOi8vd3d3
|
||||
LmRpZ2ljZXJ0LmNvbS9zc2wtY3BzLXJlcG9zaXRvcnkuaHRtMIIBZAYIKwYBBQUH
|
||||
AgIwggFWHoIBUgBBAG4AeQAgAHUAcwBlACAAbwBmACAAdABoAGkAcwAgAEMAZQBy
|
||||
AHQAaQBmAGkAYwBhAHQAZQAgAGMAbwBuAHMAdABpAHQAdQB0AGUAcwAgAGEAYwBj
|
||||
AGUAcAB0AGEAbgBjAGUAIABvAGYAIAB0AGgAZQAgAEQAaQBnAGkAQwBlAHIAdAAg
|
||||
AEMAUAAvAEMAUABTACAAYQBuAGQAIAB0AGgAZQAgAFIAZQBsAHkAaQBuAGcAIABQ
|
||||
AGEAcgB0AHkAIABBAGcAcgBlAGUAbQBlAG4AdAAgAHcAaABpAGMAaAAgAGwAaQBt
|
||||
AGkAdAAgAGwAaQBhAGIAaQBsAGkAdAB5ACAAYQBuAGQAIABhAHIAZQAgAGkAbgBj
|
||||
AG8AcgBwAG8AcgBhAHQAZQBkACAAaABlAHIAZQBpAG4AIABiAHkAIAByAGUAZgBl
|
||||
AHIAZQBuAGMAZQAuMBIGA1UdEwEB/wQIMAYBAf8CAQAwNAYIKwYBBQUHAQEEKDAm
|
||||
MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wgY8GA1UdHwSB
|
||||
hzCBhDBAoD6gPIY6aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0SGln
|
||||
aEFzc3VyYW5jZUVWUm9vdENBLmNybDBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNl
|
||||
cnQuY29tL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDAfBgNVHSME
|
||||
GDAWgBSxPsNpA/i/RwHUmCYaCALvY2QrwzAdBgNVHQ4EFgQUUOpzidsp+xCPnuUB
|
||||
INTeeZlIg/cwDQYJKoZIhvcNAQEFBQADggEBAB7ipUiebNtTOA/vphoqrOIDQ+2a
|
||||
vD6OdRvw/S4iWawTwGHi5/rpmc2HCXVUKL9GYNy+USyS8xuRfDEIcOI3ucFbqL2j
|
||||
CwD7GhX9A61YasXHJJlIR0YxHpLvtF9ONMeQvzHB+LGEhtCcAarfilYGzjrpDq6X
|
||||
dF3XcZpCdF/ejUN83ulV7WkAywXgemFhM9EZTfkI7qA5xSU1tyvED7Ld8aW3DiTE
|
||||
JiiNeXf1L/BXunwH1OH8zVowV36GEEfdMR/X/KLCvzB8XSSq6PmuX2p0ws5rs0bY
|
||||
Ib4p1I5eFdZCSucyb6Sxa1GDWL4/bcf72gMhy2oWGU4K8K2Eyl2Us1p292E=
|
||||
-----END CERTIFICATE-----
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 1116160165 (0x428740a5)
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority
|
||||
Validity
|
||||
Not Before: Oct 1 05:00:00 2006 GMT
|
||||
Not After : Jul 26 18:15:15 2014 GMT
|
||||
Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public Key: (2048 bit)
|
||||
Modulus (2048 bit):
|
||||
00:c6:cc:e5:73:e6:fb:d4:bb:e5:2d:2d:32:a6:df:
|
||||
e5:81:3f:c9:cd:25:49:b6:71:2a:c3:d5:94:34:67:
|
||||
a2:0a:1c:b0:5f:69:a6:40:b1:c4:b7:b2:8f:d0:98:
|
||||
a4:a9:41:59:3a:d3:dc:94:d6:3c:db:74:38:a4:4a:
|
||||
cc:4d:25:82:f7:4a:a5:53:12:38:ee:f3:49:6d:71:
|
||||
91:7e:63:b6:ab:a6:5f:c3:a4:84:f8:4f:62:51:be:
|
||||
f8:c5:ec:db:38:92:e3:06:e5:08:91:0c:c4:28:41:
|
||||
55:fb:cb:5a:89:15:7e:71:e8:35:bf:4d:72:09:3d:
|
||||
be:3a:38:50:5b:77:31:1b:8d:b3:c7:24:45:9a:a7:
|
||||
ac:6d:00:14:5a:04:b7:ba:13:eb:51:0a:98:41:41:
|
||||
22:4e:65:61:87:81:41:50:a6:79:5c:89:de:19:4a:
|
||||
57:d5:2e:e6:5d:1c:53:2c:7e:98:cd:1a:06:16:a4:
|
||||
68:73:d0:34:04:13:5c:a1:71:d3:5a:7c:55:db:5e:
|
||||
64:e1:37:87:30:56:04:e5:11:b4:29:80:12:f1:79:
|
||||
39:88:a2:02:11:7c:27:66:b7:88:b7:78:f2:ca:0a:
|
||||
a8:38:ab:0a:64:c2:bf:66:5d:95:84:c1:a1:25:1e:
|
||||
87:5d:1a:50:0b:20:12:cc:41:bb:6e:0b:51:38:b8:
|
||||
4b:cb
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:TRUE, pathlen:1
|
||||
X509v3 Extended Key Usage:
|
||||
TLS Web Server Authentication, TLS Web Client Authentication, E-mail Protection
|
||||
Authority Information Access:
|
||||
OCSP - URI:http://ocsp.entrust.net
|
||||
|
||||
X509v3 CRL Distribution Points:
|
||||
URI:http://crl.entrust.net/server1.crl
|
||||
|
||||
X509v3 Subject Key Identifier:
|
||||
B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3
|
||||
X509v3 Key Usage:
|
||||
Certificate Sign, CRL Sign
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A
|
||||
|
||||
1.2.840.113533.7.65.0:
|
||||
0
|
||||
..V7.1....
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
48:0e:2b:6f:20:62:4c:28:93:a3:24:3d:58:ab:21:cf:80:f8:
|
||||
9a:97:90:6a:22:ed:5a:7c:47:36:99:e7:79:84:75:ab:24:8f:
|
||||
92:0a:d5:61:04:ae:c3:6a:5c:b2:cc:d9:e4:44:87:6f:db:8f:
|
||||
38:62:f7:44:36:9d:ba:bc:6e:07:c4:d4:8d:e8:1f:d1:0b:60:
|
||||
a3:b5:9c:ce:63:be:ed:67:dc:f8:ba:de:6e:c9:25:cb:5b:b5:
|
||||
9d:76:70:0b:df:42:72:f8:4f:41:11:64:a5:d2:ea:fc:d5:af:
|
||||
11:f4:15:38:67:9c:20:a8:4b:77:5a:91:32:42:32:e7:85:b3:
|
||||
df:36
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEQjCCA6ugAwIBAgIEQodApTANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
|
||||
VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
|
||||
ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
|
||||
KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
|
||||
ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEw
|
||||
MDEwNTAwMDBaFw0xNDA3MjYxODE1MTVaMGwxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
|
||||
EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xKzApBgNV
|
||||
BAMTIkRpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIEVWIFJvb3QgQ0EwggEiMA0GCSqG
|
||||
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGzOVz5vvUu+UtLTKm3+WBP8nNJUm2cSrD
|
||||
1ZQ0Z6IKHLBfaaZAscS3so/QmKSpQVk609yU1jzbdDikSsxNJYL3SqVTEjju80lt
|
||||
cZF+Y7arpl/DpIT4T2JRvvjF7Ns4kuMG5QiRDMQoQVX7y1qJFX5x6DW/TXIJPb46
|
||||
OFBbdzEbjbPHJEWap6xtABRaBLe6E+tRCphBQSJOZWGHgUFQpnlcid4ZSlfVLuZd
|
||||
HFMsfpjNGgYWpGhz0DQEE1yhcdNafFXbXmThN4cwVgTlEbQpgBLxeTmIogIRfCdm
|
||||
t4i3ePLKCqg4qwpkwr9mXZWEwaElHoddGlALIBLMQbtuC1E4uEvLAgMBAAGjggET
|
||||
MIIBDzASBgNVHRMBAf8ECDAGAQH/AgEBMCcGA1UdJQQgMB4GCCsGAQUFBwMBBggr
|
||||
BgEFBQcDAgYIKwYBBQUHAwQwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdo
|
||||
dHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8v
|
||||
Y3JsLmVudHJ1c3QubmV0L3NlcnZlcjEuY3JsMB0GA1UdDgQWBBSxPsNpA/i/RwHU
|
||||
mCYaCALvY2QrwzALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7
|
||||
UISX8+1i0BowGQYJKoZIhvZ9B0EABAwwChsEVjcuMQMCAIEwDQYJKoZIhvcNAQEF
|
||||
BQADgYEASA4rbyBiTCiToyQ9WKshz4D4mpeQaiLtWnxHNpnneYR1qySPkgrVYQSu
|
||||
w2pcsszZ5ESHb9uPOGL3RDadurxuB8TUjegf0Qtgo7WczmO+7Wfc+Lrebskly1u1
|
||||
nXZwC99CcvhPQRFkpdLq/NWvEfQVOGecIKhLd1qRMkIy54Wz3zY=
|
||||
-----END CERTIFICATE-----
|
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"install": "messages/install.txt",
|
||||
"1.1.1": "messages/1.1.1.txt",
|
||||
"1.2.0": "messages/1.2.0.txt"
|
||||
}
|
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"schema_version": "1.2",
|
||||
"packages": [
|
||||
{
|
||||
"name": "GitHub Example",
|
||||
"description": "An example from GitHub, be sure to use the zipball URL",
|
||||
"author": "John Smith",
|
||||
"homepage": "http://example.com",
|
||||
"last_modified": "2011-12-12 05:04:31",
|
||||
"platforms": {
|
||||
"*": [
|
||||
{
|
||||
"version": "1.1",
|
||||
"url": "http://nodeload.github.com/john_smith/github_example/zipball/master"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "BitBucket Example",
|
||||
"description": "An example from BitBucket, be sure to use the zip URL",
|
||||
"author": "John Smith",
|
||||
"homepage": "http://example.com",
|
||||
"last_modified": "2011-08-12 12:21:09",
|
||||
"platforms": {
|
||||
"*": [
|
||||
{
|
||||
"version": "1.0",
|
||||
"url": "https://bitbucket.org/john_smith/bitbucket_example/get/tip.zip"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Tortoise",
|
||||
"description": "Keyboard shortcuts and menu entries to execute TortoiseSVN, TortoiseHg and TortoiseGit commands",
|
||||
"author": "Will Bond",
|
||||
"homepage": "http://sublime.wbond.net",
|
||||
"last_modified": "2011-11-30 22:55:52",
|
||||
"platforms": {
|
||||
"windows": [
|
||||
{
|
||||
"version": "1.0",
|
||||
"url": "http://sublime.wbond.net/Tortoise.sublime-package"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"renamed_packages": {
|
||||
"sublime-old-package": "NewPackage",
|
||||
"OldPackage": "NewName"
|
||||
}
|
||||
}
|
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"schema_version": "1.2",
|
||||
"repositories": [
|
||||
"http://sublime.wbond.net/packages.json",
|
||||
"https://github.com/buymeasoda/soda-theme",
|
||||
"https://github.com/SublimeText"
|
||||
],
|
||||
"package_name_map": {
|
||||
"soda-theme": "Theme - Soda"
|
||||
},
|
||||
"renamed_packages": {
|
||||
"old-name": "New Name"
|
||||
},
|
||||
"packages": {
|
||||
"http://sublime.wbond.net/packages.json": [
|
||||
{
|
||||
"name": "GitHub Example",
|
||||
"description": "An example from GitHub, be sure to use the zipball URL",
|
||||
"author": "John Smith",
|
||||
"homepage": "http://example.com",
|
||||
"platforms": {
|
||||
"*": [
|
||||
{
|
||||
"version": "1.1",
|
||||
"url": "http://nodeload.github.com/john_smith/github_example/zipball/master"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "BitBucket Example",
|
||||
"description": "An example from BitBucket, be sure to use the zip URL",
|
||||
"author": "John Smith",
|
||||
"homepage": "http://example.com",
|
||||
"platforms": {
|
||||
"*": [
|
||||
{
|
||||
"version": "1.0",
|
||||
"url": "https://bitbucket.org/john_smith/bitbucket_example/get/tip.zip"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Tortoise",
|
||||
"description": "Keyboard shortcuts and menu entries to execute TortoiseSVN, TortoiseHg and TortoiseGit commands",
|
||||
"author": "Will Bond",
|
||||
"homepage": "http://sublime.wbond.net",
|
||||
"platforms": {
|
||||
"windows": [
|
||||
{
|
||||
"version": "1.0",
|
||||
"url": "http://sublime.wbond.net/Tortoise.sublime-package"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@@ -0,0 +1,86 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# This code is copyright Konstantine Rybnikov <k-bx@k-bx.com>, and is
|
||||
# available at https://github.com/k-bx/python-semver and is licensed under the
|
||||
# BSD License
|
||||
|
||||
import re
|
||||
|
||||
_REGEX = re.compile('^(?P<major>[0-9]+)'
|
||||
'\.(?P<minor>[0-9]+)'
|
||||
'\.(?P<patch>[0-9]+)'
|
||||
'(\-(?P<prerelease>[0-9A-Za-z]+(\.[0-9A-Za-z]+)*))?'
|
||||
'(\+(?P<build>[0-9A-Za-z]+(\.[0-9A-Za-z]+)*))?$')
|
||||
|
||||
if 'cmp' not in __builtins__:
|
||||
cmp = lambda a,b: (a > b) - (a < b)
|
||||
|
||||
def parse(version):
|
||||
"""
|
||||
Parse version to major, minor, patch, pre-release, build parts.
|
||||
"""
|
||||
match = _REGEX.match(version)
|
||||
if match is None:
|
||||
raise ValueError('%s is not valid SemVer string' % version)
|
||||
|
||||
verinfo = match.groupdict()
|
||||
|
||||
verinfo['major'] = int(verinfo['major'])
|
||||
verinfo['minor'] = int(verinfo['minor'])
|
||||
verinfo['patch'] = int(verinfo['patch'])
|
||||
|
||||
return verinfo
|
||||
|
||||
|
||||
def compare(ver1, ver2):
|
||||
def nat_cmp(a, b):
|
||||
a, b = a or '', b or ''
|
||||
convert = lambda text: text.isdigit() and int(text) or text.lower()
|
||||
alphanum_key = lambda key: [convert(c) for c in re.split('([0-9]+)', key)]
|
||||
return cmp(alphanum_key(a), alphanum_key(b))
|
||||
|
||||
def compare_by_keys(d1, d2):
|
||||
for key in ['major', 'minor', 'patch']:
|
||||
v = cmp(d1.get(key), d2.get(key))
|
||||
if v:
|
||||
return v
|
||||
rc1, rc2 = d1.get('prerelease'), d2.get('prerelease')
|
||||
build1, build2 = d1.get('build'), d2.get('build')
|
||||
rccmp = nat_cmp(rc1, rc2)
|
||||
buildcmp = nat_cmp(build1, build2)
|
||||
if not (rc1 or rc2):
|
||||
return buildcmp
|
||||
elif not rc1:
|
||||
return 1
|
||||
elif not rc2:
|
||||
return -1
|
||||
return rccmp or buildcmp or 0
|
||||
|
||||
v1, v2 = parse(ver1), parse(ver2)
|
||||
|
||||
return compare_by_keys(v1, v2)
|
||||
|
||||
|
||||
def match(version, match_expr):
|
||||
prefix = match_expr[:2]
|
||||
if prefix in ('>=', '<=', '=='):
|
||||
match_version = match_expr[2:]
|
||||
elif prefix and prefix[0] in ('>', '<', '='):
|
||||
prefix = prefix[0]
|
||||
match_version = match_expr[1:]
|
||||
else:
|
||||
raise ValueError("match_expr parameter should be in format <op><ver>, "
|
||||
"where <op> is one of ['<', '>', '==', '<=', '>=']. "
|
||||
"You provided: %r" % match_expr)
|
||||
|
||||
possibilities_dict = {
|
||||
'>': (1,),
|
||||
'<': (-1,),
|
||||
'==': (0,),
|
||||
'>=': (0, 1),
|
||||
'<=': (-1, 0)
|
||||
}
|
||||
|
||||
possibilities = possibilities_dict[prefix]
|
||||
cmp_res = compare(version, match_version)
|
||||
|
||||
return cmp_res in possibilities
|
@@ -0,0 +1,113 @@
|
||||
# This file is part of 'NTLM Authorization Proxy Server' http://sourceforge.net/projects/ntlmaps/
|
||||
# Copyright 2001 Dmitry A. Rozmanov <dima@xenon.spb.ru>
|
||||
#
|
||||
# This library is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation, either
|
||||
# version 3 of the License, or (at your option) any later version.
|
||||
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library. If not, see <http://www.gnu.org/licenses/> or <http://www.gnu.org/licenses/lgpl.txt>.
|
||||
|
||||
|
||||
C = 0x1000000000L
|
||||
|
||||
def norm(n):
|
||||
return n & 0xFFFFFFFFL
|
||||
|
||||
|
||||
class U32:
|
||||
v = 0L
|
||||
|
||||
def __init__(self, value = 0):
|
||||
self.v = C + norm(abs(long(value)))
|
||||
|
||||
def set(self, value = 0):
|
||||
self.v = C + norm(abs(long(value)))
|
||||
|
||||
def __repr__(self):
|
||||
return hex(norm(self.v))
|
||||
|
||||
def __long__(self): return long(norm(self.v))
|
||||
def __int__(self): return int(norm(self.v))
|
||||
def __chr__(self): return chr(norm(self.v))
|
||||
|
||||
def __add__(self, b):
|
||||
r = U32()
|
||||
r.v = C + norm(self.v + b.v)
|
||||
return r
|
||||
|
||||
def __sub__(self, b):
|
||||
r = U32()
|
||||
if self.v < b.v:
|
||||
r.v = C + norm(0x100000000L - (b.v - self.v))
|
||||
else: r.v = C + norm(self.v - b.v)
|
||||
return r
|
||||
|
||||
def __mul__(self, b):
|
||||
r = U32()
|
||||
r.v = C + norm(self.v * b.v)
|
||||
return r
|
||||
|
||||
def __div__(self, b):
|
||||
r = U32()
|
||||
r.v = C + (norm(self.v) / norm(b.v))
|
||||
return r
|
||||
|
||||
def __mod__(self, b):
|
||||
r = U32()
|
||||
r.v = C + (norm(self.v) % norm(b.v))
|
||||
return r
|
||||
|
||||
def __neg__(self): return U32(self.v)
|
||||
def __pos__(self): return U32(self.v)
|
||||
def __abs__(self): return U32(self.v)
|
||||
|
||||
def __invert__(self):
|
||||
r = U32()
|
||||
r.v = C + norm(~self.v)
|
||||
return r
|
||||
|
||||
def __lshift__(self, b):
|
||||
r = U32()
|
||||
r.v = C + norm(self.v << b)
|
||||
return r
|
||||
|
||||
def __rshift__(self, b):
|
||||
r = U32()
|
||||
r.v = C + (norm(self.v) >> b)
|
||||
return r
|
||||
|
||||
def __and__(self, b):
|
||||
r = U32()
|
||||
r.v = C + norm(self.v & b.v)
|
||||
return r
|
||||
|
||||
def __or__(self, b):
|
||||
r = U32()
|
||||
r.v = C + norm(self.v | b.v)
|
||||
return r
|
||||
|
||||
def __xor__(self, b):
|
||||
r = U32()
|
||||
r.v = C + norm(self.v ^ b.v)
|
||||
return r
|
||||
|
||||
def __not__(self):
|
||||
return U32(not norm(self.v))
|
||||
|
||||
def truth(self):
|
||||
return norm(self.v)
|
||||
|
||||
def __cmp__(self, b):
|
||||
if norm(self.v) > norm(b.v): return 1
|
||||
elif norm(self.v) < norm(b.v): return -1
|
||||
else: return 0
|
||||
|
||||
def __nonzero__(self):
|
||||
return norm(self.v)
|
@@ -0,0 +1,92 @@
|
||||
# This file is part of 'NTLM Authorization Proxy Server' http://sourceforge.net/projects/ntlmaps/
|
||||
# Copyright 2001 Dmitry A. Rozmanov <dima@xenon.spb.ru>
|
||||
#
|
||||
# This library is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation, either
|
||||
# version 3 of the License, or (at your option) any later version.
|
||||
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library. If not, see <http://www.gnu.org/licenses/> or <http://www.gnu.org/licenses/lgpl.txt>.
|
||||
|
||||
import des_c
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
class DES:
|
||||
|
||||
des_c_obj = None
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
def __init__(self, key_str):
|
||||
""
|
||||
k = str_to_key56(key_str)
|
||||
k = key56_to_key64(k)
|
||||
key_str = ''
|
||||
for i in k:
|
||||
key_str += chr(i & 0xFF)
|
||||
self.des_c_obj = des_c.DES(key_str)
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
def encrypt(self, plain_text):
|
||||
""
|
||||
return self.des_c_obj.encrypt(plain_text)
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
def decrypt(self, crypted_text):
|
||||
""
|
||||
return self.des_c_obj.decrypt(crypted_text)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
#Some Helpers
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
DESException = 'DESException'
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
def str_to_key56(key_str):
|
||||
""
|
||||
if type(key_str) != type(''):
|
||||
#rise DESException, 'ERROR. Wrong key type.'
|
||||
pass
|
||||
if len(key_str) < 7:
|
||||
key_str = key_str + '\000\000\000\000\000\000\000'[:(7 - len(key_str))]
|
||||
key_56 = []
|
||||
for i in key_str[:7]: key_56.append(ord(i))
|
||||
|
||||
return key_56
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
def key56_to_key64(key_56):
|
||||
""
|
||||
key = []
|
||||
for i in range(8): key.append(0)
|
||||
|
||||
key[0] = key_56[0];
|
||||
key[1] = ((key_56[0] << 7) & 0xFF) | (key_56[1] >> 1);
|
||||
key[2] = ((key_56[1] << 6) & 0xFF) | (key_56[2] >> 2);
|
||||
key[3] = ((key_56[2] << 5) & 0xFF) | (key_56[3] >> 3);
|
||||
key[4] = ((key_56[3] << 4) & 0xFF) | (key_56[4] >> 4);
|
||||
key[5] = ((key_56[4] << 3) & 0xFF) | (key_56[5] >> 5);
|
||||
key[6] = ((key_56[5] << 2) & 0xFF) | (key_56[6] >> 6);
|
||||
key[7] = (key_56[6] << 1) & 0xFF;
|
||||
|
||||
key = set_key_odd_parity(key)
|
||||
|
||||
return key
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
def set_key_odd_parity(key):
|
||||
""
|
||||
for i in range(len(key)):
|
||||
for k in range(7):
|
||||
bit = 0
|
||||
t = key[i] >> k
|
||||
bit = (t ^ bit) & 0x1
|
||||
key[i] = (key[i] & 0xFE) | bit
|
||||
|
||||
return key
|
@@ -0,0 +1,328 @@
|
||||
# This file is part of 'NTLM Authorization Proxy Server' http://sourceforge.net/projects/ntlmaps/
|
||||
# Copyright 2001 Dmitry A. Rozmanov <dima@xenon.spb.ru>
|
||||
#
|
||||
# This library is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation, either
|
||||
# version 3 of the License, or (at your option) any later version.
|
||||
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library. If not, see <http://www.gnu.org/licenses/> or <http://www.gnu.org/licenses/lgpl.txt>.
|
||||
|
||||
from U32 import U32
|
||||
|
||||
# --NON ASCII COMMENT ELIDED--
|
||||
#typedef unsigned char des_cblock[8];
|
||||
#define HDRSIZE 4
|
||||
|
||||
def c2l(c):
|
||||
"char[4] to unsigned long"
|
||||
l = U32(c[0])
|
||||
l = l | (U32(c[1]) << 8)
|
||||
l = l | (U32(c[2]) << 16)
|
||||
l = l | (U32(c[3]) << 24)
|
||||
return l
|
||||
|
||||
def c2ln(c,l1,l2,n):
|
||||
"char[n] to two unsigned long???"
|
||||
c = c + n
|
||||
l1, l2 = U32(0), U32(0)
|
||||
|
||||
f = 0
|
||||
if n == 8:
|
||||
l2 = l2 | (U32(c[7]) << 24)
|
||||
f = 1
|
||||
if f or (n == 7):
|
||||
l2 = l2 | (U32(c[6]) << 16)
|
||||
f = 1
|
||||
if f or (n == 6):
|
||||
l2 = l2 | (U32(c[5]) << 8)
|
||||
f = 1
|
||||
if f or (n == 5):
|
||||
l2 = l2 | U32(c[4])
|
||||
f = 1
|
||||
if f or (n == 4):
|
||||
l1 = l1 | (U32(c[3]) << 24)
|
||||
f = 1
|
||||
if f or (n == 3):
|
||||
l1 = l1 | (U32(c[2]) << 16)
|
||||
f = 1
|
||||
if f or (n == 2):
|
||||
l1 = l1 | (U32(c[1]) << 8)
|
||||
f = 1
|
||||
if f or (n == 1):
|
||||
l1 = l1 | U32(c[0])
|
||||
return (l1, l2)
|
||||
|
||||
def l2c(l):
|
||||
"unsigned long to char[4]"
|
||||
c = []
|
||||
c.append(int(l & U32(0xFF)))
|
||||
c.append(int((l >> 8) & U32(0xFF)))
|
||||
c.append(int((l >> 16) & U32(0xFF)))
|
||||
c.append(int((l >> 24) & U32(0xFF)))
|
||||
return c
|
||||
|
||||
def n2l(c, l):
|
||||
"network to host long"
|
||||
l = U32(c[0] << 24)
|
||||
l = l | (U32(c[1]) << 16)
|
||||
l = l | (U32(c[2]) << 8)
|
||||
l = l | (U32(c[3]))
|
||||
return l
|
||||
|
||||
def l2n(l, c):
|
||||
"host to network long"
|
||||
c = []
|
||||
c.append(int((l >> 24) & U32(0xFF)))
|
||||
c.append(int((l >> 16) & U32(0xFF)))
|
||||
c.append(int((l >> 8) & U32(0xFF)))
|
||||
c.append(int((l ) & U32(0xFF)))
|
||||
return c
|
||||
|
||||
def l2cn(l1, l2, c, n):
|
||||
""
|
||||
for i in range(n): c.append(0x00)
|
||||
f = 0
|
||||
if f or (n == 8):
|
||||
c[7] = int((l2 >> 24) & U32(0xFF))
|
||||
f = 1
|
||||
if f or (n == 7):
|
||||
c[6] = int((l2 >> 16) & U32(0xFF))
|
||||
f = 1
|
||||
if f or (n == 6):
|
||||
c[5] = int((l2 >> 8) & U32(0xFF))
|
||||
f = 1
|
||||
if f or (n == 5):
|
||||
c[4] = int((l2 ) & U32(0xFF))
|
||||
f = 1
|
||||
if f or (n == 4):
|
||||
c[3] = int((l1 >> 24) & U32(0xFF))
|
||||
f = 1
|
||||
if f or (n == 3):
|
||||
c[2] = int((l1 >> 16) & U32(0xFF))
|
||||
f = 1
|
||||
if f or (n == 2):
|
||||
c[1] = int((l1 >> 8) & U32(0xFF))
|
||||
f = 1
|
||||
if f or (n == 1):
|
||||
c[0] = int((l1 ) & U32(0xFF))
|
||||
f = 1
|
||||
return c[:n]
|
||||
|
||||
# array of data
|
||||
# static unsigned long des_SPtrans[8][64]={
|
||||
# static unsigned long des_skb[8][64]={
|
||||
from des_data import des_SPtrans, des_skb
|
||||
|
||||
def D_ENCRYPT(tup, u, t, s):
|
||||
L, R, S = tup
|
||||
#print 'LRS1', L, R, S, u, t, '-->',
|
||||
u = (R ^ s[S])
|
||||
t = R ^ s[S + 1]
|
||||
t = ((t >> 4) + (t << 28))
|
||||
L = L ^ (des_SPtrans[1][int((t ) & U32(0x3f))] | \
|
||||
des_SPtrans[3][int((t >> 8) & U32(0x3f))] | \
|
||||
des_SPtrans[5][int((t >> 16) & U32(0x3f))] | \
|
||||
des_SPtrans[7][int((t >> 24) & U32(0x3f))] | \
|
||||
des_SPtrans[0][int((u ) & U32(0x3f))] | \
|
||||
des_SPtrans[2][int((u >> 8) & U32(0x3f))] | \
|
||||
des_SPtrans[4][int((u >> 16) & U32(0x3f))] | \
|
||||
des_SPtrans[6][int((u >> 24) & U32(0x3f))])
|
||||
#print 'LRS:', L, R, S, u, t
|
||||
return ((L, R, S), u, t, s)
|
||||
|
||||
|
||||
def PERM_OP (tup, n, m):
|
||||
"tup - (a, b, t)"
|
||||
a, b, t = tup
|
||||
t = ((a >> n) ^ b) & m
|
||||
b = b ^ t
|
||||
a = a ^ (t << n)
|
||||
return (a, b, t)
|
||||
|
||||
def HPERM_OP (tup, n, m):
|
||||
"tup - (a, t)"
|
||||
a, t = tup
|
||||
t = ((a << (16 - n)) ^ a) & m
|
||||
a = a ^ t ^ (t >> (16 - n))
|
||||
return (a, t)
|
||||
|
||||
shifts2 = [0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0]
|
||||
|
||||
class DES:
|
||||
KeySched = None # des_key_schedule
|
||||
|
||||
def __init__(self, key_str):
|
||||
# key - UChar[8]
|
||||
key = []
|
||||
for i in key_str: key.append(ord(i))
|
||||
#print 'key:', key
|
||||
self.KeySched = des_set_key(key)
|
||||
#print 'schedule:', self.KeySched, len(self.KeySched)
|
||||
|
||||
def decrypt(self, str):
|
||||
# block - UChar[]
|
||||
block = []
|
||||
for i in str: block.append(ord(i))
|
||||
#print block
|
||||
block = des_ecb_encrypt(block, self.KeySched, 0)
|
||||
res = ''
|
||||
for i in block: res = res + (chr(i))
|
||||
return res
|
||||
|
||||
def encrypt(self, str):
|
||||
# block - UChar[]
|
||||
block = []
|
||||
for i in str: block.append(ord(i))
|
||||
block = des_ecb_encrypt(block, self.KeySched, 1)
|
||||
res = ''
|
||||
for i in block: res = res + (chr(i))
|
||||
return res
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#------------------------
|
||||
def des_encript(input, ks, encrypt):
|
||||
# input - U32[]
|
||||
# output - U32[]
|
||||
# ks - des_key_shedule - U32[2][16]
|
||||
# encrypt - int
|
||||
# l, r, t, u - U32
|
||||
# i - int
|
||||
# s - U32[]
|
||||
|
||||
l = input[0]
|
||||
r = input[1]
|
||||
t = U32(0)
|
||||
u = U32(0)
|
||||
|
||||
r, l, t = PERM_OP((r, l, t), 4, U32(0x0f0f0f0fL))
|
||||
l, r, t = PERM_OP((l, r, t), 16, U32(0x0000ffffL))
|
||||
r, l, t = PERM_OP((r, l, t), 2, U32(0x33333333L))
|
||||
l, r, t = PERM_OP((l, r, t), 8, U32(0x00ff00ffL))
|
||||
r, l, t = PERM_OP((r, l, t), 1, U32(0x55555555L))
|
||||
|
||||
t = (r << 1)|(r >> 31)
|
||||
r = (l << 1)|(l >> 31)
|
||||
l = t
|
||||
|
||||
s = ks # ???????????????
|
||||
#print l, r
|
||||
if(encrypt):
|
||||
for i in range(0, 32, 4):
|
||||
rtup, u, t, s = D_ENCRYPT((l, r, i + 0), u, t, s)
|
||||
l = rtup[0]
|
||||
r = rtup[1]
|
||||
rtup, u, t, s = D_ENCRYPT((r, l, i + 2), u, t, s)
|
||||
r = rtup[0]
|
||||
l = rtup[1]
|
||||
else:
|
||||
for i in range(30, 0, -4):
|
||||
rtup, u, t, s = D_ENCRYPT((l, r, i - 0), u, t, s)
|
||||
l = rtup[0]
|
||||
r = rtup[1]
|
||||
rtup, u, t, s = D_ENCRYPT((r, l, i - 2), u, t, s)
|
||||
r = rtup[0]
|
||||
l = rtup[1]
|
||||
#print l, r
|
||||
l = (l >> 1)|(l << 31)
|
||||
r = (r >> 1)|(r << 31)
|
||||
|
||||
r, l, t = PERM_OP((r, l, t), 1, U32(0x55555555L))
|
||||
l, r, t = PERM_OP((l, r, t), 8, U32(0x00ff00ffL))
|
||||
r, l, t = PERM_OP((r, l, t), 2, U32(0x33333333L))
|
||||
l, r, t = PERM_OP((l, r, t), 16, U32(0x0000ffffL))
|
||||
r, l, t = PERM_OP((r, l, t), 4, U32(0x0f0f0f0fL))
|
||||
|
||||
output = [l]
|
||||
output.append(r)
|
||||
l, r, t, u = U32(0), U32(0), U32(0), U32(0)
|
||||
return output
|
||||
|
||||
def des_ecb_encrypt(input, ks, encrypt):
|
||||
# input - des_cblock - UChar[8]
|
||||
# output - des_cblock - UChar[8]
|
||||
# ks - des_key_shedule - U32[2][16]
|
||||
# encrypt - int
|
||||
|
||||
#print input
|
||||
l0 = c2l(input[0:4])
|
||||
l1 = c2l(input[4:8])
|
||||
ll = [l0]
|
||||
ll.append(l1)
|
||||
#print ll
|
||||
ll = des_encript(ll, ks, encrypt)
|
||||
#print ll
|
||||
l0 = ll[0]
|
||||
l1 = ll[1]
|
||||
output = l2c(l0)
|
||||
output = output + l2c(l1)
|
||||
#print output
|
||||
l0, l1, ll[0], ll[1] = U32(0), U32(0), U32(0), U32(0)
|
||||
return output
|
||||
|
||||
def des_set_key(key):
|
||||
# key - des_cblock - UChar[8]
|
||||
# schedule - des_key_schedule
|
||||
|
||||
# register unsigned long c,d,t,s;
|
||||
# register unsigned char *in;
|
||||
# register unsigned long *k;
|
||||
# register int i;
|
||||
|
||||
#k = schedule
|
||||
# in = key
|
||||
|
||||
k = []
|
||||
c = c2l(key[0:4])
|
||||
d = c2l(key[4:8])
|
||||
t = U32(0)
|
||||
|
||||
d, c, t = PERM_OP((d, c, t), 4, U32(0x0f0f0f0fL))
|
||||
c, t = HPERM_OP((c, t), -2, U32(0xcccc0000L))
|
||||
d, t = HPERM_OP((d, t), -2, U32(0xcccc0000L))
|
||||
d, c, t = PERM_OP((d, c, t), 1, U32(0x55555555L))
|
||||
c, d, t = PERM_OP((c, d, t), 8, U32(0x00ff00ffL))
|
||||
d, c, t = PERM_OP((d, c, t), 1, U32(0x55555555L))
|
||||
|
||||
d = (((d & U32(0x000000ffL)) << 16)|(d & U32(0x0000ff00L))|((d & U32(0x00ff0000L)) >> 16)|((c & U32(0xf0000000L)) >> 4))
|
||||
c = c & U32(0x0fffffffL)
|
||||
|
||||
for i in range(16):
|
||||
if (shifts2[i]):
|
||||
c = ((c >> 2)|(c << 26))
|
||||
d = ((d >> 2)|(d << 26))
|
||||
else:
|
||||
c = ((c >> 1)|(c << 27))
|
||||
d = ((d >> 1)|(d << 27))
|
||||
c = c & U32(0x0fffffffL)
|
||||
d = d & U32(0x0fffffffL)
|
||||
|
||||
s= des_skb[0][int((c ) & U32(0x3f))]|\
|
||||
des_skb[1][int(((c>> 6) & U32(0x03))|((c>> 7) & U32(0x3c)))]|\
|
||||
des_skb[2][int(((c>>13) & U32(0x0f))|((c>>14) & U32(0x30)))]|\
|
||||
des_skb[3][int(((c>>20) & U32(0x01))|((c>>21) & U32(0x06)) | ((c>>22) & U32(0x38)))]
|
||||
|
||||
t= des_skb[4][int((d ) & U32(0x3f) )]|\
|
||||
des_skb[5][int(((d>> 7) & U32(0x03))|((d>> 8) & U32(0x3c)))]|\
|
||||
des_skb[6][int((d>>15) & U32(0x3f) )]|\
|
||||
des_skb[7][int(((d>>21) & U32(0x0f))|((d>>22) & U32(0x30)))]
|
||||
#print s, t
|
||||
|
||||
k.append(((t << 16)|(s & U32(0x0000ffffL))) & U32(0xffffffffL))
|
||||
s = ((s >> 16)|(t & U32(0xffff0000L)))
|
||||
s = (s << 4)|(s >> 28)
|
||||
k.append(s & U32(0xffffffffL))
|
||||
|
||||
schedule = k
|
||||
|
||||
return schedule
|
@@ -0,0 +1,348 @@
|
||||
# This file is part of 'NTLM Authorization Proxy Server' http://sourceforge.net/projects/ntlmaps/
|
||||
# Copyright 2001 Dmitry A. Rozmanov <dima@xenon.spb.ru>
|
||||
#
|
||||
# This library is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation, either
|
||||
# version 3 of the License, or (at your option) any later version.
|
||||
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library. If not, see <http://www.gnu.org/licenses/> or <http://www.gnu.org/licenses/lgpl.txt>.
|
||||
|
||||
from U32 import U32
|
||||
|
||||
# static unsigned long des_SPtrans[8][64]={
|
||||
|
||||
des_SPtrans =\
|
||||
[
|
||||
#nibble 0
|
||||
[
|
||||
U32(0x00820200L), U32(0x00020000L), U32(0x80800000L), U32(0x80820200L),
|
||||
U32(0x00800000L), U32(0x80020200L), U32(0x80020000L), U32(0x80800000L),
|
||||
U32(0x80020200L), U32(0x00820200L), U32(0x00820000L), U32(0x80000200L),
|
||||
U32(0x80800200L), U32(0x00800000L), U32(0x00000000L), U32(0x80020000L),
|
||||
U32(0x00020000L), U32(0x80000000L), U32(0x00800200L), U32(0x00020200L),
|
||||
U32(0x80820200L), U32(0x00820000L), U32(0x80000200L), U32(0x00800200L),
|
||||
U32(0x80000000L), U32(0x00000200L), U32(0x00020200L), U32(0x80820000L),
|
||||
U32(0x00000200L), U32(0x80800200L), U32(0x80820000L), U32(0x00000000L),
|
||||
U32(0x00000000L), U32(0x80820200L), U32(0x00800200L), U32(0x80020000L),
|
||||
U32(0x00820200L), U32(0x00020000L), U32(0x80000200L), U32(0x00800200L),
|
||||
U32(0x80820000L), U32(0x00000200L), U32(0x00020200L), U32(0x80800000L),
|
||||
U32(0x80020200L), U32(0x80000000L), U32(0x80800000L), U32(0x00820000L),
|
||||
U32(0x80820200L), U32(0x00020200L), U32(0x00820000L), U32(0x80800200L),
|
||||
U32(0x00800000L), U32(0x80000200L), U32(0x80020000L), U32(0x00000000L),
|
||||
U32(0x00020000L), U32(0x00800000L), U32(0x80800200L), U32(0x00820200L),
|
||||
U32(0x80000000L), U32(0x80820000L), U32(0x00000200L), U32(0x80020200L),
|
||||
],
|
||||
|
||||
#nibble 1
|
||||
[
|
||||
U32(0x10042004L), U32(0x00000000L), U32(0x00042000L), U32(0x10040000L),
|
||||
U32(0x10000004L), U32(0x00002004L), U32(0x10002000L), U32(0x00042000L),
|
||||
U32(0x00002000L), U32(0x10040004L), U32(0x00000004L), U32(0x10002000L),
|
||||
U32(0x00040004L), U32(0x10042000L), U32(0x10040000L), U32(0x00000004L),
|
||||
U32(0x00040000L), U32(0x10002004L), U32(0x10040004L), U32(0x00002000L),
|
||||
U32(0x00042004L), U32(0x10000000L), U32(0x00000000L), U32(0x00040004L),
|
||||
U32(0x10002004L), U32(0x00042004L), U32(0x10042000L), U32(0x10000004L),
|
||||
U32(0x10000000L), U32(0x00040000L), U32(0x00002004L), U32(0x10042004L),
|
||||
U32(0x00040004L), U32(0x10042000L), U32(0x10002000L), U32(0x00042004L),
|
||||
U32(0x10042004L), U32(0x00040004L), U32(0x10000004L), U32(0x00000000L),
|
||||
U32(0x10000000L), U32(0x00002004L), U32(0x00040000L), U32(0x10040004L),
|
||||
U32(0x00002000L), U32(0x10000000L), U32(0x00042004L), U32(0x10002004L),
|
||||
U32(0x10042000L), U32(0x00002000L), U32(0x00000000L), U32(0x10000004L),
|
||||
U32(0x00000004L), U32(0x10042004L), U32(0x00042000L), U32(0x10040000L),
|
||||
U32(0x10040004L), U32(0x00040000L), U32(0x00002004L), U32(0x10002000L),
|
||||
U32(0x10002004L), U32(0x00000004L), U32(0x10040000L), U32(0x00042000L),
|
||||
],
|
||||
|
||||
#nibble 2
|
||||
[
|
||||
U32(0x41000000L), U32(0x01010040L), U32(0x00000040L), U32(0x41000040L),
|
||||
U32(0x40010000L), U32(0x01000000L), U32(0x41000040L), U32(0x00010040L),
|
||||
U32(0x01000040L), U32(0x00010000L), U32(0x01010000L), U32(0x40000000L),
|
||||
U32(0x41010040L), U32(0x40000040L), U32(0x40000000L), U32(0x41010000L),
|
||||
U32(0x00000000L), U32(0x40010000L), U32(0x01010040L), U32(0x00000040L),
|
||||
U32(0x40000040L), U32(0x41010040L), U32(0x00010000L), U32(0x41000000L),
|
||||
U32(0x41010000L), U32(0x01000040L), U32(0x40010040L), U32(0x01010000L),
|
||||
U32(0x00010040L), U32(0x00000000L), U32(0x01000000L), U32(0x40010040L),
|
||||
U32(0x01010040L), U32(0x00000040L), U32(0x40000000L), U32(0x00010000L),
|
||||
U32(0x40000040L), U32(0x40010000L), U32(0x01010000L), U32(0x41000040L),
|
||||
U32(0x00000000L), U32(0x01010040L), U32(0x00010040L), U32(0x41010000L),
|
||||
U32(0x40010000L), U32(0x01000000L), U32(0x41010040L), U32(0x40000000L),
|
||||
U32(0x40010040L), U32(0x41000000L), U32(0x01000000L), U32(0x41010040L),
|
||||
U32(0x00010000L), U32(0x01000040L), U32(0x41000040L), U32(0x00010040L),
|
||||
U32(0x01000040L), U32(0x00000000L), U32(0x41010000L), U32(0x40000040L),
|
||||
U32(0x41000000L), U32(0x40010040L), U32(0x00000040L), U32(0x01010000L),
|
||||
],
|
||||
|
||||
#nibble 3
|
||||
[
|
||||
U32(0x00100402L), U32(0x04000400L), U32(0x00000002L), U32(0x04100402L),
|
||||
U32(0x00000000L), U32(0x04100000L), U32(0x04000402L), U32(0x00100002L),
|
||||
U32(0x04100400L), U32(0x04000002L), U32(0x04000000L), U32(0x00000402L),
|
||||
U32(0x04000002L), U32(0x00100402L), U32(0x00100000L), U32(0x04000000L),
|
||||
U32(0x04100002L), U32(0x00100400L), U32(0x00000400L), U32(0x00000002L),
|
||||
U32(0x00100400L), U32(0x04000402L), U32(0x04100000L), U32(0x00000400L),
|
||||
U32(0x00000402L), U32(0x00000000L), U32(0x00100002L), U32(0x04100400L),
|
||||
U32(0x04000400L), U32(0x04100002L), U32(0x04100402L), U32(0x00100000L),
|
||||
U32(0x04100002L), U32(0x00000402L), U32(0x00100000L), U32(0x04000002L),
|
||||
U32(0x00100400L), U32(0x04000400L), U32(0x00000002L), U32(0x04100000L),
|
||||
U32(0x04000402L), U32(0x00000000L), U32(0x00000400L), U32(0x00100002L),
|
||||
U32(0x00000000L), U32(0x04100002L), U32(0x04100400L), U32(0x00000400L),
|
||||
U32(0x04000000L), U32(0x04100402L), U32(0x00100402L), U32(0x00100000L),
|
||||
U32(0x04100402L), U32(0x00000002L), U32(0x04000400L), U32(0x00100402L),
|
||||
U32(0x00100002L), U32(0x00100400L), U32(0x04100000L), U32(0x04000402L),
|
||||
U32(0x00000402L), U32(0x04000000L), U32(0x04000002L), U32(0x04100400L),
|
||||
],
|
||||
|
||||
#nibble 4
|
||||
[
|
||||
U32(0x02000000L), U32(0x00004000L), U32(0x00000100L), U32(0x02004108L),
|
||||
U32(0x02004008L), U32(0x02000100L), U32(0x00004108L), U32(0x02004000L),
|
||||
U32(0x00004000L), U32(0x00000008L), U32(0x02000008L), U32(0x00004100L),
|
||||
U32(0x02000108L), U32(0x02004008L), U32(0x02004100L), U32(0x00000000L),
|
||||
U32(0x00004100L), U32(0x02000000L), U32(0x00004008L), U32(0x00000108L),
|
||||
U32(0x02000100L), U32(0x00004108L), U32(0x00000000L), U32(0x02000008L),
|
||||
U32(0x00000008L), U32(0x02000108L), U32(0x02004108L), U32(0x00004008L),
|
||||
U32(0x02004000L), U32(0x00000100L), U32(0x00000108L), U32(0x02004100L),
|
||||
U32(0x02004100L), U32(0x02000108L), U32(0x00004008L), U32(0x02004000L),
|
||||
U32(0x00004000L), U32(0x00000008L), U32(0x02000008L), U32(0x02000100L),
|
||||
U32(0x02000000L), U32(0x00004100L), U32(0x02004108L), U32(0x00000000L),
|
||||
U32(0x00004108L), U32(0x02000000L), U32(0x00000100L), U32(0x00004008L),
|
||||
U32(0x02000108L), U32(0x00000100L), U32(0x00000000L), U32(0x02004108L),
|
||||
U32(0x02004008L), U32(0x02004100L), U32(0x00000108L), U32(0x00004000L),
|
||||
U32(0x00004100L), U32(0x02004008L), U32(0x02000100L), U32(0x00000108L),
|
||||
U32(0x00000008L), U32(0x00004108L), U32(0x02004000L), U32(0x02000008L),
|
||||
],
|
||||
|
||||
#nibble 5
|
||||
[
|
||||
U32(0x20000010L), U32(0x00080010L), U32(0x00000000L), U32(0x20080800L),
|
||||
U32(0x00080010L), U32(0x00000800L), U32(0x20000810L), U32(0x00080000L),
|
||||
U32(0x00000810L), U32(0x20080810L), U32(0x00080800L), U32(0x20000000L),
|
||||
U32(0x20000800L), U32(0x20000010L), U32(0x20080000L), U32(0x00080810L),
|
||||
U32(0x00080000L), U32(0x20000810L), U32(0x20080010L), U32(0x00000000L),
|
||||
U32(0x00000800L), U32(0x00000010L), U32(0x20080800L), U32(0x20080010L),
|
||||
U32(0x20080810L), U32(0x20080000L), U32(0x20000000L), U32(0x00000810L),
|
||||
U32(0x00000010L), U32(0x00080800L), U32(0x00080810L), U32(0x20000800L),
|
||||
U32(0x00000810L), U32(0x20000000L), U32(0x20000800L), U32(0x00080810L),
|
||||
U32(0x20080800L), U32(0x00080010L), U32(0x00000000L), U32(0x20000800L),
|
||||
U32(0x20000000L), U32(0x00000800L), U32(0x20080010L), U32(0x00080000L),
|
||||
U32(0x00080010L), U32(0x20080810L), U32(0x00080800L), U32(0x00000010L),
|
||||
U32(0x20080810L), U32(0x00080800L), U32(0x00080000L), U32(0x20000810L),
|
||||
U32(0x20000010L), U32(0x20080000L), U32(0x00080810L), U32(0x00000000L),
|
||||
U32(0x00000800L), U32(0x20000010L), U32(0x20000810L), U32(0x20080800L),
|
||||
U32(0x20080000L), U32(0x00000810L), U32(0x00000010L), U32(0x20080010L),
|
||||
],
|
||||
|
||||
#nibble 6
|
||||
[
|
||||
U32(0x00001000L), U32(0x00000080L), U32(0x00400080L), U32(0x00400001L),
|
||||
U32(0x00401081L), U32(0x00001001L), U32(0x00001080L), U32(0x00000000L),
|
||||
U32(0x00400000L), U32(0x00400081L), U32(0x00000081L), U32(0x00401000L),
|
||||
U32(0x00000001L), U32(0x00401080L), U32(0x00401000L), U32(0x00000081L),
|
||||
U32(0x00400081L), U32(0x00001000L), U32(0x00001001L), U32(0x00401081L),
|
||||
U32(0x00000000L), U32(0x00400080L), U32(0x00400001L), U32(0x00001080L),
|
||||
U32(0x00401001L), U32(0x00001081L), U32(0x00401080L), U32(0x00000001L),
|
||||
U32(0x00001081L), U32(0x00401001L), U32(0x00000080L), U32(0x00400000L),
|
||||
U32(0x00001081L), U32(0x00401000L), U32(0x00401001L), U32(0x00000081L),
|
||||
U32(0x00001000L), U32(0x00000080L), U32(0x00400000L), U32(0x00401001L),
|
||||
U32(0x00400081L), U32(0x00001081L), U32(0x00001080L), U32(0x00000000L),
|
||||
U32(0x00000080L), U32(0x00400001L), U32(0x00000001L), U32(0x00400080L),
|
||||
U32(0x00000000L), U32(0x00400081L), U32(0x00400080L), U32(0x00001080L),
|
||||
U32(0x00000081L), U32(0x00001000L), U32(0x00401081L), U32(0x00400000L),
|
||||
U32(0x00401080L), U32(0x00000001L), U32(0x00001001L), U32(0x00401081L),
|
||||
U32(0x00400001L), U32(0x00401080L), U32(0x00401000L), U32(0x00001001L),
|
||||
],
|
||||
|
||||
#nibble 7
|
||||
[
|
||||
U32(0x08200020L), U32(0x08208000L), U32(0x00008020L), U32(0x00000000L),
|
||||
U32(0x08008000L), U32(0x00200020L), U32(0x08200000L), U32(0x08208020L),
|
||||
U32(0x00000020L), U32(0x08000000L), U32(0x00208000L), U32(0x00008020L),
|
||||
U32(0x00208020L), U32(0x08008020L), U32(0x08000020L), U32(0x08200000L),
|
||||
U32(0x00008000L), U32(0x00208020L), U32(0x00200020L), U32(0x08008000L),
|
||||
U32(0x08208020L), U32(0x08000020L), U32(0x00000000L), U32(0x00208000L),
|
||||
U32(0x08000000L), U32(0x00200000L), U32(0x08008020L), U32(0x08200020L),
|
||||
U32(0x00200000L), U32(0x00008000L), U32(0x08208000L), U32(0x00000020L),
|
||||
U32(0x00200000L), U32(0x00008000L), U32(0x08000020L), U32(0x08208020L),
|
||||
U32(0x00008020L), U32(0x08000000L), U32(0x00000000L), U32(0x00208000L),
|
||||
U32(0x08200020L), U32(0x08008020L), U32(0x08008000L), U32(0x00200020L),
|
||||
U32(0x08208000L), U32(0x00000020L), U32(0x00200020L), U32(0x08008000L),
|
||||
U32(0x08208020L), U32(0x00200000L), U32(0x08200000L), U32(0x08000020L),
|
||||
U32(0x00208000L), U32(0x00008020L), U32(0x08008020L), U32(0x08200000L),
|
||||
U32(0x00000020L), U32(0x08208000L), U32(0x00208020L), U32(0x00000000L),
|
||||
U32(0x08000000L), U32(0x08200020L), U32(0x00008000L), U32(0x00208020L),
|
||||
],
|
||||
]
|
||||
|
||||
#static unsigned long des_skb[8][64]={
|
||||
|
||||
des_skb = \
|
||||
[
|
||||
#for C bits (numbered as per FIPS 46) 1 2 3 4 5 6
|
||||
[
|
||||
U32(0x00000000L),U32(0x00000010L),U32(0x20000000L),U32(0x20000010L),
|
||||
U32(0x00010000L),U32(0x00010010L),U32(0x20010000L),U32(0x20010010L),
|
||||
U32(0x00000800L),U32(0x00000810L),U32(0x20000800L),U32(0x20000810L),
|
||||
U32(0x00010800L),U32(0x00010810L),U32(0x20010800L),U32(0x20010810L),
|
||||
U32(0x00000020L),U32(0x00000030L),U32(0x20000020L),U32(0x20000030L),
|
||||
U32(0x00010020L),U32(0x00010030L),U32(0x20010020L),U32(0x20010030L),
|
||||
U32(0x00000820L),U32(0x00000830L),U32(0x20000820L),U32(0x20000830L),
|
||||
U32(0x00010820L),U32(0x00010830L),U32(0x20010820L),U32(0x20010830L),
|
||||
U32(0x00080000L),U32(0x00080010L),U32(0x20080000L),U32(0x20080010L),
|
||||
U32(0x00090000L),U32(0x00090010L),U32(0x20090000L),U32(0x20090010L),
|
||||
U32(0x00080800L),U32(0x00080810L),U32(0x20080800L),U32(0x20080810L),
|
||||
U32(0x00090800L),U32(0x00090810L),U32(0x20090800L),U32(0x20090810L),
|
||||
U32(0x00080020L),U32(0x00080030L),U32(0x20080020L),U32(0x20080030L),
|
||||
U32(0x00090020L),U32(0x00090030L),U32(0x20090020L),U32(0x20090030L),
|
||||
U32(0x00080820L),U32(0x00080830L),U32(0x20080820L),U32(0x20080830L),
|
||||
U32(0x00090820L),U32(0x00090830L),U32(0x20090820L),U32(0x20090830L),
|
||||
],
|
||||
|
||||
#for C bits (numbered as per FIPS 46) 7 8 10 11 12 13
|
||||
[
|
||||
U32(0x00000000L),U32(0x02000000L),U32(0x00002000L),U32(0x02002000L),
|
||||
U32(0x00200000L),U32(0x02200000L),U32(0x00202000L),U32(0x02202000L),
|
||||
U32(0x00000004L),U32(0x02000004L),U32(0x00002004L),U32(0x02002004L),
|
||||
U32(0x00200004L),U32(0x02200004L),U32(0x00202004L),U32(0x02202004L),
|
||||
U32(0x00000400L),U32(0x02000400L),U32(0x00002400L),U32(0x02002400L),
|
||||
U32(0x00200400L),U32(0x02200400L),U32(0x00202400L),U32(0x02202400L),
|
||||
U32(0x00000404L),U32(0x02000404L),U32(0x00002404L),U32(0x02002404L),
|
||||
U32(0x00200404L),U32(0x02200404L),U32(0x00202404L),U32(0x02202404L),
|
||||
U32(0x10000000L),U32(0x12000000L),U32(0x10002000L),U32(0x12002000L),
|
||||
U32(0x10200000L),U32(0x12200000L),U32(0x10202000L),U32(0x12202000L),
|
||||
U32(0x10000004L),U32(0x12000004L),U32(0x10002004L),U32(0x12002004L),
|
||||
U32(0x10200004L),U32(0x12200004L),U32(0x10202004L),U32(0x12202004L),
|
||||
U32(0x10000400L),U32(0x12000400L),U32(0x10002400L),U32(0x12002400L),
|
||||
U32(0x10200400L),U32(0x12200400L),U32(0x10202400L),U32(0x12202400L),
|
||||
U32(0x10000404L),U32(0x12000404L),U32(0x10002404L),U32(0x12002404L),
|
||||
U32(0x10200404L),U32(0x12200404L),U32(0x10202404L),U32(0x12202404L),
|
||||
],
|
||||
|
||||
#for C bits (numbered as per FIPS 46) 14 15 16 17 19 20
|
||||
[
|
||||
U32(0x00000000L),U32(0x00000001L),U32(0x00040000L),U32(0x00040001L),
|
||||
U32(0x01000000L),U32(0x01000001L),U32(0x01040000L),U32(0x01040001L),
|
||||
U32(0x00000002L),U32(0x00000003L),U32(0x00040002L),U32(0x00040003L),
|
||||
U32(0x01000002L),U32(0x01000003L),U32(0x01040002L),U32(0x01040003L),
|
||||
U32(0x00000200L),U32(0x00000201L),U32(0x00040200L),U32(0x00040201L),
|
||||
U32(0x01000200L),U32(0x01000201L),U32(0x01040200L),U32(0x01040201L),
|
||||
U32(0x00000202L),U32(0x00000203L),U32(0x00040202L),U32(0x00040203L),
|
||||
U32(0x01000202L),U32(0x01000203L),U32(0x01040202L),U32(0x01040203L),
|
||||
U32(0x08000000L),U32(0x08000001L),U32(0x08040000L),U32(0x08040001L),
|
||||
U32(0x09000000L),U32(0x09000001L),U32(0x09040000L),U32(0x09040001L),
|
||||
U32(0x08000002L),U32(0x08000003L),U32(0x08040002L),U32(0x08040003L),
|
||||
U32(0x09000002L),U32(0x09000003L),U32(0x09040002L),U32(0x09040003L),
|
||||
U32(0x08000200L),U32(0x08000201L),U32(0x08040200L),U32(0x08040201L),
|
||||
U32(0x09000200L),U32(0x09000201L),U32(0x09040200L),U32(0x09040201L),
|
||||
U32(0x08000202L),U32(0x08000203L),U32(0x08040202L),U32(0x08040203L),
|
||||
U32(0x09000202L),U32(0x09000203L),U32(0x09040202L),U32(0x09040203L),
|
||||
],
|
||||
|
||||
#for C bits (numbered as per FIPS 46) 21 23 24 26 27 28
|
||||
[
|
||||
U32(0x00000000L),U32(0x00100000L),U32(0x00000100L),U32(0x00100100L),
|
||||
U32(0x00000008L),U32(0x00100008L),U32(0x00000108L),U32(0x00100108L),
|
||||
U32(0x00001000L),U32(0x00101000L),U32(0x00001100L),U32(0x00101100L),
|
||||
U32(0x00001008L),U32(0x00101008L),U32(0x00001108L),U32(0x00101108L),
|
||||
U32(0x04000000L),U32(0x04100000L),U32(0x04000100L),U32(0x04100100L),
|
||||
U32(0x04000008L),U32(0x04100008L),U32(0x04000108L),U32(0x04100108L),
|
||||
U32(0x04001000L),U32(0x04101000L),U32(0x04001100L),U32(0x04101100L),
|
||||
U32(0x04001008L),U32(0x04101008L),U32(0x04001108L),U32(0x04101108L),
|
||||
U32(0x00020000L),U32(0x00120000L),U32(0x00020100L),U32(0x00120100L),
|
||||
U32(0x00020008L),U32(0x00120008L),U32(0x00020108L),U32(0x00120108L),
|
||||
U32(0x00021000L),U32(0x00121000L),U32(0x00021100L),U32(0x00121100L),
|
||||
U32(0x00021008L),U32(0x00121008L),U32(0x00021108L),U32(0x00121108L),
|
||||
U32(0x04020000L),U32(0x04120000L),U32(0x04020100L),U32(0x04120100L),
|
||||
U32(0x04020008L),U32(0x04120008L),U32(0x04020108L),U32(0x04120108L),
|
||||
U32(0x04021000L),U32(0x04121000L),U32(0x04021100L),U32(0x04121100L),
|
||||
U32(0x04021008L),U32(0x04121008L),U32(0x04021108L),U32(0x04121108L),
|
||||
],
|
||||
|
||||
#for D bits (numbered as per FIPS 46) 1 2 3 4 5 6
|
||||
[
|
||||
U32(0x00000000L),U32(0x10000000L),U32(0x00010000L),U32(0x10010000L),
|
||||
U32(0x00000004L),U32(0x10000004L),U32(0x00010004L),U32(0x10010004L),
|
||||
U32(0x20000000L),U32(0x30000000L),U32(0x20010000L),U32(0x30010000L),
|
||||
U32(0x20000004L),U32(0x30000004L),U32(0x20010004L),U32(0x30010004L),
|
||||
U32(0x00100000L),U32(0x10100000L),U32(0x00110000L),U32(0x10110000L),
|
||||
U32(0x00100004L),U32(0x10100004L),U32(0x00110004L),U32(0x10110004L),
|
||||
U32(0x20100000L),U32(0x30100000L),U32(0x20110000L),U32(0x30110000L),
|
||||
U32(0x20100004L),U32(0x30100004L),U32(0x20110004L),U32(0x30110004L),
|
||||
U32(0x00001000L),U32(0x10001000L),U32(0x00011000L),U32(0x10011000L),
|
||||
U32(0x00001004L),U32(0x10001004L),U32(0x00011004L),U32(0x10011004L),
|
||||
U32(0x20001000L),U32(0x30001000L),U32(0x20011000L),U32(0x30011000L),
|
||||
U32(0x20001004L),U32(0x30001004L),U32(0x20011004L),U32(0x30011004L),
|
||||
U32(0x00101000L),U32(0x10101000L),U32(0x00111000L),U32(0x10111000L),
|
||||
U32(0x00101004L),U32(0x10101004L),U32(0x00111004L),U32(0x10111004L),
|
||||
U32(0x20101000L),U32(0x30101000L),U32(0x20111000L),U32(0x30111000L),
|
||||
U32(0x20101004L),U32(0x30101004L),U32(0x20111004L),U32(0x30111004L),
|
||||
],
|
||||
|
||||
#for D bits (numbered as per FIPS 46) 8 9 11 12 13 14
|
||||
[
|
||||
U32(0x00000000L),U32(0x08000000L),U32(0x00000008L),U32(0x08000008L),
|
||||
U32(0x00000400L),U32(0x08000400L),U32(0x00000408L),U32(0x08000408L),
|
||||
U32(0x00020000L),U32(0x08020000L),U32(0x00020008L),U32(0x08020008L),
|
||||
U32(0x00020400L),U32(0x08020400L),U32(0x00020408L),U32(0x08020408L),
|
||||
U32(0x00000001L),U32(0x08000001L),U32(0x00000009L),U32(0x08000009L),
|
||||
U32(0x00000401L),U32(0x08000401L),U32(0x00000409L),U32(0x08000409L),
|
||||
U32(0x00020001L),U32(0x08020001L),U32(0x00020009L),U32(0x08020009L),
|
||||
U32(0x00020401L),U32(0x08020401L),U32(0x00020409L),U32(0x08020409L),
|
||||
U32(0x02000000L),U32(0x0A000000L),U32(0x02000008L),U32(0x0A000008L),
|
||||
U32(0x02000400L),U32(0x0A000400L),U32(0x02000408L),U32(0x0A000408L),
|
||||
U32(0x02020000L),U32(0x0A020000L),U32(0x02020008L),U32(0x0A020008L),
|
||||
U32(0x02020400L),U32(0x0A020400L),U32(0x02020408L),U32(0x0A020408L),
|
||||
U32(0x02000001L),U32(0x0A000001L),U32(0x02000009L),U32(0x0A000009L),
|
||||
U32(0x02000401L),U32(0x0A000401L),U32(0x02000409L),U32(0x0A000409L),
|
||||
U32(0x02020001L),U32(0x0A020001L),U32(0x02020009L),U32(0x0A020009L),
|
||||
U32(0x02020401L),U32(0x0A020401L),U32(0x02020409L),U32(0x0A020409L),
|
||||
],
|
||||
|
||||
#for D bits (numbered as per FIPS 46) 16 17 18 19 20 21
|
||||
[
|
||||
U32(0x00000000L),U32(0x00000100L),U32(0x00080000L),U32(0x00080100L),
|
||||
U32(0x01000000L),U32(0x01000100L),U32(0x01080000L),U32(0x01080100L),
|
||||
U32(0x00000010L),U32(0x00000110L),U32(0x00080010L),U32(0x00080110L),
|
||||
U32(0x01000010L),U32(0x01000110L),U32(0x01080010L),U32(0x01080110L),
|
||||
U32(0x00200000L),U32(0x00200100L),U32(0x00280000L),U32(0x00280100L),
|
||||
U32(0x01200000L),U32(0x01200100L),U32(0x01280000L),U32(0x01280100L),
|
||||
U32(0x00200010L),U32(0x00200110L),U32(0x00280010L),U32(0x00280110L),
|
||||
U32(0x01200010L),U32(0x01200110L),U32(0x01280010L),U32(0x01280110L),
|
||||
U32(0x00000200L),U32(0x00000300L),U32(0x00080200L),U32(0x00080300L),
|
||||
U32(0x01000200L),U32(0x01000300L),U32(0x01080200L),U32(0x01080300L),
|
||||
U32(0x00000210L),U32(0x00000310L),U32(0x00080210L),U32(0x00080310L),
|
||||
U32(0x01000210L),U32(0x01000310L),U32(0x01080210L),U32(0x01080310L),
|
||||
U32(0x00200200L),U32(0x00200300L),U32(0x00280200L),U32(0x00280300L),
|
||||
U32(0x01200200L),U32(0x01200300L),U32(0x01280200L),U32(0x01280300L),
|
||||
U32(0x00200210L),U32(0x00200310L),U32(0x00280210L),U32(0x00280310L),
|
||||
U32(0x01200210L),U32(0x01200310L),U32(0x01280210L),U32(0x01280310L),
|
||||
],
|
||||
|
||||
#for D bits (numbered as per FIPS 46) 22 23 24 25 27 28
|
||||
[
|
||||
U32(0x00000000L),U32(0x04000000L),U32(0x00040000L),U32(0x04040000L),
|
||||
U32(0x00000002L),U32(0x04000002L),U32(0x00040002L),U32(0x04040002L),
|
||||
U32(0x00002000L),U32(0x04002000L),U32(0x00042000L),U32(0x04042000L),
|
||||
U32(0x00002002L),U32(0x04002002L),U32(0x00042002L),U32(0x04042002L),
|
||||
U32(0x00000020L),U32(0x04000020L),U32(0x00040020L),U32(0x04040020L),
|
||||
U32(0x00000022L),U32(0x04000022L),U32(0x00040022L),U32(0x04040022L),
|
||||
U32(0x00002020L),U32(0x04002020L),U32(0x00042020L),U32(0x04042020L),
|
||||
U32(0x00002022L),U32(0x04002022L),U32(0x00042022L),U32(0x04042022L),
|
||||
U32(0x00000800L),U32(0x04000800L),U32(0x00040800L),U32(0x04040800L),
|
||||
U32(0x00000802L),U32(0x04000802L),U32(0x00040802L),U32(0x04040802L),
|
||||
U32(0x00002800L),U32(0x04002800L),U32(0x00042800L),U32(0x04042800L),
|
||||
U32(0x00002802L),U32(0x04002802L),U32(0x00042802L),U32(0x04042802L),
|
||||
U32(0x00000820L),U32(0x04000820L),U32(0x00040820L),U32(0x04040820L),
|
||||
U32(0x00000822L),U32(0x04000822L),U32(0x00040822L),U32(0x04040822L),
|
||||
U32(0x00002820L),U32(0x04002820L),U32(0x00042820L),U32(0x04042820L),
|
||||
U32(0x00002822L),U32(0x04002822L),U32(0x00042822L),U32(0x04042822L),
|
||||
]
|
||||
|
||||
]
|
@@ -0,0 +1,466 @@
|
||||
# This library is free software: you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation, either
|
||||
# version 3 of the License, or (at your option) any later version.
|
||||
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library. If not, see <http://www.gnu.org/licenses/> or <http://www.gnu.org/licenses/lgpl.txt>.
|
||||
|
||||
import struct
|
||||
import base64
|
||||
import string
|
||||
import des
|
||||
import hashlib
|
||||
import hmac
|
||||
import random
|
||||
from socket import gethostname
|
||||
|
||||
NTLM_NegotiateUnicode = 0x00000001
|
||||
NTLM_NegotiateOEM = 0x00000002
|
||||
NTLM_RequestTarget = 0x00000004
|
||||
NTLM_Unknown9 = 0x00000008
|
||||
NTLM_NegotiateSign = 0x00000010
|
||||
NTLM_NegotiateSeal = 0x00000020
|
||||
NTLM_NegotiateDatagram = 0x00000040
|
||||
NTLM_NegotiateLanManagerKey = 0x00000080
|
||||
NTLM_Unknown8 = 0x00000100
|
||||
NTLM_NegotiateNTLM = 0x00000200
|
||||
NTLM_NegotiateNTOnly = 0x00000400
|
||||
NTLM_Anonymous = 0x00000800
|
||||
NTLM_NegotiateOemDomainSupplied = 0x00001000
|
||||
NTLM_NegotiateOemWorkstationSupplied = 0x00002000
|
||||
NTLM_Unknown6 = 0x00004000
|
||||
NTLM_NegotiateAlwaysSign = 0x00008000
|
||||
NTLM_TargetTypeDomain = 0x00010000
|
||||
NTLM_TargetTypeServer = 0x00020000
|
||||
NTLM_TargetTypeShare = 0x00040000
|
||||
NTLM_NegotiateExtendedSecurity = 0x00080000
|
||||
NTLM_NegotiateIdentify = 0x00100000
|
||||
NTLM_Unknown5 = 0x00200000
|
||||
NTLM_RequestNonNTSessionKey = 0x00400000
|
||||
NTLM_NegotiateTargetInfo = 0x00800000
|
||||
NTLM_Unknown4 = 0x01000000
|
||||
NTLM_NegotiateVersion = 0x02000000
|
||||
NTLM_Unknown3 = 0x04000000
|
||||
NTLM_Unknown2 = 0x08000000
|
||||
NTLM_Unknown1 = 0x10000000
|
||||
NTLM_Negotiate128 = 0x20000000
|
||||
NTLM_NegotiateKeyExchange = 0x40000000
|
||||
NTLM_Negotiate56 = 0x80000000
|
||||
|
||||
# we send these flags with our type 1 message
|
||||
NTLM_TYPE1_FLAGS = (NTLM_NegotiateUnicode | \
|
||||
NTLM_NegotiateOEM | \
|
||||
NTLM_RequestTarget | \
|
||||
NTLM_NegotiateNTLM | \
|
||||
NTLM_NegotiateOemDomainSupplied | \
|
||||
NTLM_NegotiateOemWorkstationSupplied | \
|
||||
NTLM_NegotiateAlwaysSign | \
|
||||
NTLM_NegotiateExtendedSecurity | \
|
||||
NTLM_NegotiateVersion | \
|
||||
NTLM_Negotiate128 | \
|
||||
NTLM_Negotiate56 )
|
||||
NTLM_TYPE2_FLAGS = (NTLM_NegotiateUnicode | \
|
||||
NTLM_RequestTarget | \
|
||||
NTLM_NegotiateNTLM | \
|
||||
NTLM_NegotiateAlwaysSign | \
|
||||
NTLM_NegotiateExtendedSecurity | \
|
||||
NTLM_NegotiateTargetInfo | \
|
||||
NTLM_NegotiateVersion | \
|
||||
NTLM_Negotiate128 | \
|
||||
NTLM_Negotiate56)
|
||||
|
||||
NTLM_MsvAvEOL = 0 # Indicates that this is the last AV_PAIR in the list. AvLen MUST be 0. This type of information MUST be present in the AV pair list.
|
||||
NTLM_MsvAvNbComputerName = 1 # The server's NetBIOS computer name. The name MUST be in Unicode, and is not null-terminated. This type of information MUST be present in the AV_pair list.
|
||||
NTLM_MsvAvNbDomainName = 2 # The server's NetBIOS domain name. The name MUST be in Unicode, and is not null-terminated. This type of information MUST be present in the AV_pair list.
|
||||
NTLM_MsvAvDnsComputerName = 3 # The server's Active Directory DNS computer name. The name MUST be in Unicode, and is not null-terminated.
|
||||
NTLM_MsvAvDnsDomainName = 4 # The server's Active Directory DNS domain name. The name MUST be in Unicode, and is not null-terminated.
|
||||
NTLM_MsvAvDnsTreeName = 5 # The server's Active Directory (AD) DNS forest tree name. The name MUST be in Unicode, and is not null-terminated.
|
||||
NTLM_MsvAvFlags = 6 # A field containing a 32-bit value indicating server or client configuration. 0x00000001: indicates to the client that the account authentication is constrained. 0x00000002: indicates that the client is providing message integrity in the MIC field (section 2.2.1.3) in the AUTHENTICATE_MESSAGE.
|
||||
NTLM_MsvAvTimestamp = 7 # A FILETIME structure ([MS-DTYP] section 2.3.1) in little-endian byte order that contains the server local time.<12>
|
||||
NTLM_MsAvRestrictions = 8 #A Restriction_Encoding structure (section 2.2.2.2). The Value field contains a structure representing the integrity level of the security principal, as well as a MachineID created at computer startup to identify the calling machine. <13>
|
||||
|
||||
|
||||
"""
|
||||
utility functions for Microsoft NTLM authentication
|
||||
|
||||
References:
|
||||
[MS-NLMP]: NT LAN Manager (NTLM) Authentication Protocol Specification
|
||||
http://download.microsoft.com/download/a/e/6/ae6e4142-aa58-45c6-8dcf-a657e5900cd3/%5BMS-NLMP%5D.pdf
|
||||
|
||||
[MS-NTHT]: NTLM Over HTTP Protocol Specification
|
||||
http://download.microsoft.com/download/a/e/6/ae6e4142-aa58-45c6-8dcf-a657e5900cd3/%5BMS-NTHT%5D.pdf
|
||||
|
||||
Cntlm Authentication Proxy
|
||||
http://cntlm.awk.cz/
|
||||
|
||||
NTLM Authorization Proxy Server
|
||||
http://sourceforge.net/projects/ntlmaps/
|
||||
|
||||
Optimized Attack for NTLM2 Session Response
|
||||
http://www.blackhat.com/presentations/bh-asia-04/bh-jp-04-pdfs/bh-jp-04-seki.pdf
|
||||
"""
|
||||
def dump_NegotiateFlags(NegotiateFlags):
|
||||
if NegotiateFlags & NTLM_NegotiateUnicode:
|
||||
print "NTLM_NegotiateUnicode set"
|
||||
if NegotiateFlags & NTLM_NegotiateOEM:
|
||||
print "NTLM_NegotiateOEM set"
|
||||
if NegotiateFlags & NTLM_RequestTarget:
|
||||
print "NTLM_RequestTarget set"
|
||||
if NegotiateFlags & NTLM_Unknown9:
|
||||
print "NTLM_Unknown9 set"
|
||||
if NegotiateFlags & NTLM_NegotiateSign:
|
||||
print "NTLM_NegotiateSign set"
|
||||
if NegotiateFlags & NTLM_NegotiateSeal:
|
||||
print "NTLM_NegotiateSeal set"
|
||||
if NegotiateFlags & NTLM_NegotiateDatagram:
|
||||
print "NTLM_NegotiateDatagram set"
|
||||
if NegotiateFlags & NTLM_NegotiateLanManagerKey:
|
||||
print "NTLM_NegotiateLanManagerKey set"
|
||||
if NegotiateFlags & NTLM_Unknown8:
|
||||
print "NTLM_Unknown8 set"
|
||||
if NegotiateFlags & NTLM_NegotiateNTLM:
|
||||
print "NTLM_NegotiateNTLM set"
|
||||
if NegotiateFlags & NTLM_NegotiateNTOnly:
|
||||
print "NTLM_NegotiateNTOnly set"
|
||||
if NegotiateFlags & NTLM_Anonymous:
|
||||
print "NTLM_Anonymous set"
|
||||
if NegotiateFlags & NTLM_NegotiateOemDomainSupplied:
|
||||
print "NTLM_NegotiateOemDomainSupplied set"
|
||||
if NegotiateFlags & NTLM_NegotiateOemWorkstationSupplied:
|
||||
print "NTLM_NegotiateOemWorkstationSupplied set"
|
||||
if NegotiateFlags & NTLM_Unknown6:
|
||||
print "NTLM_Unknown6 set"
|
||||
if NegotiateFlags & NTLM_NegotiateAlwaysSign:
|
||||
print "NTLM_NegotiateAlwaysSign set"
|
||||
if NegotiateFlags & NTLM_TargetTypeDomain:
|
||||
print "NTLM_TargetTypeDomain set"
|
||||
if NegotiateFlags & NTLM_TargetTypeServer:
|
||||
print "NTLM_TargetTypeServer set"
|
||||
if NegotiateFlags & NTLM_TargetTypeShare:
|
||||
print "NTLM_TargetTypeShare set"
|
||||
if NegotiateFlags & NTLM_NegotiateExtendedSecurity:
|
||||
print "NTLM_NegotiateExtendedSecurity set"
|
||||
if NegotiateFlags & NTLM_NegotiateIdentify:
|
||||
print "NTLM_NegotiateIdentify set"
|
||||
if NegotiateFlags & NTLM_Unknown5:
|
||||
print "NTLM_Unknown5 set"
|
||||
if NegotiateFlags & NTLM_RequestNonNTSessionKey:
|
||||
print "NTLM_RequestNonNTSessionKey set"
|
||||
if NegotiateFlags & NTLM_NegotiateTargetInfo:
|
||||
print "NTLM_NegotiateTargetInfo set"
|
||||
if NegotiateFlags & NTLM_Unknown4:
|
||||
print "NTLM_Unknown4 set"
|
||||
if NegotiateFlags & NTLM_NegotiateVersion:
|
||||
print "NTLM_NegotiateVersion set"
|
||||
if NegotiateFlags & NTLM_Unknown3:
|
||||
print "NTLM_Unknown3 set"
|
||||
if NegotiateFlags & NTLM_Unknown2:
|
||||
print "NTLM_Unknown2 set"
|
||||
if NegotiateFlags & NTLM_Unknown1:
|
||||
print "NTLM_Unknown1 set"
|
||||
if NegotiateFlags & NTLM_Negotiate128:
|
||||
print "NTLM_Negotiate128 set"
|
||||
if NegotiateFlags & NTLM_NegotiateKeyExchange:
|
||||
print "NTLM_NegotiateKeyExchange set"
|
||||
if NegotiateFlags & NTLM_Negotiate56:
|
||||
print "NTLM_Negotiate56 set"
|
||||
|
||||
def create_NTLM_NEGOTIATE_MESSAGE(user, type1_flags=NTLM_TYPE1_FLAGS):
|
||||
BODY_LENGTH = 40
|
||||
Payload_start = BODY_LENGTH # in bytes
|
||||
protocol = 'NTLMSSP\0' #name
|
||||
|
||||
type = struct.pack('<I',1) #type 1
|
||||
|
||||
flags = struct.pack('<I', type1_flags)
|
||||
Workstation = gethostname().upper().encode('ascii')
|
||||
user_parts = user.split('\\', 1)
|
||||
if type1_flags & NTLM_NegotiateOemDomainSupplied:
|
||||
DomainName = user_parts[0].upper().encode('ascii')
|
||||
else:
|
||||
DomainName = ''
|
||||
EncryptedRandomSessionKey = ""
|
||||
|
||||
|
||||
WorkstationLen = struct.pack('<H', len(Workstation))
|
||||
WorkstationMaxLen = struct.pack('<H', len(Workstation))
|
||||
WorkstationBufferOffset = struct.pack('<I', Payload_start)
|
||||
Payload_start += len(Workstation)
|
||||
DomainNameLen = struct.pack('<H', len(DomainName))
|
||||
DomainNameMaxLen = struct.pack('<H', len(DomainName))
|
||||
DomainNameBufferOffset = struct.pack('<I',Payload_start)
|
||||
Payload_start += len(DomainName)
|
||||
ProductMajorVersion = struct.pack('<B', 5)
|
||||
ProductMinorVersion = struct.pack('<B', 1)
|
||||
ProductBuild = struct.pack('<H', 2600)
|
||||
VersionReserved1 = struct.pack('<B', 0)
|
||||
VersionReserved2 = struct.pack('<B', 0)
|
||||
VersionReserved3 = struct.pack('<B', 0)
|
||||
NTLMRevisionCurrent = struct.pack('<B', 15)
|
||||
|
||||
msg1 = protocol + type + flags + \
|
||||
DomainNameLen + DomainNameMaxLen + DomainNameBufferOffset + \
|
||||
WorkstationLen + WorkstationMaxLen + WorkstationBufferOffset + \
|
||||
ProductMajorVersion + ProductMinorVersion + ProductBuild + \
|
||||
VersionReserved1 + VersionReserved2 + VersionReserved3 + NTLMRevisionCurrent
|
||||
assert BODY_LENGTH==len(msg1), "BODY_LENGTH: %d != msg1: %d" % (BODY_LENGTH,len(msg1))
|
||||
msg1 += Workstation + DomainName
|
||||
msg1 = base64.encodestring(msg1)
|
||||
msg1 = string.replace(msg1, '\n', '')
|
||||
return msg1
|
||||
|
||||
def parse_NTLM_CHALLENGE_MESSAGE(msg2):
|
||||
""
|
||||
msg2 = base64.decodestring(msg2)
|
||||
Signature = msg2[0:8]
|
||||
msg_type = struct.unpack("<I",msg2[8:12])[0]
|
||||
assert(msg_type==2)
|
||||
TargetNameLen = struct.unpack("<H",msg2[12:14])[0]
|
||||
TargetNameMaxLen = struct.unpack("<H",msg2[14:16])[0]
|
||||
TargetNameOffset = struct.unpack("<I",msg2[16:20])[0]
|
||||
TargetName = msg2[TargetNameOffset:TargetNameOffset+TargetNameMaxLen]
|
||||
NegotiateFlags = struct.unpack("<I",msg2[20:24])[0]
|
||||
ServerChallenge = msg2[24:32]
|
||||
Reserved = msg2[32:40]
|
||||
# Fixes some NTLM auth that don't include the target info
|
||||
# I have no idea if such a server is broken or not, but
|
||||
# this helped with my testing
|
||||
if TargetNameOffset > 40:
|
||||
TargetInfoLen = struct.unpack("<H",msg2[40:42])[0]
|
||||
TargetInfoMaxLen = struct.unpack("<H",msg2[42:44])[0]
|
||||
TargetInfoOffset = struct.unpack("<I",msg2[44:48])[0]
|
||||
TargetInfo = msg2[TargetInfoOffset:TargetInfoOffset+TargetInfoLen]
|
||||
i=0
|
||||
TimeStamp = '\0'*8
|
||||
while(i<TargetInfoLen):
|
||||
AvId = struct.unpack("<H",TargetInfo[i:i+2])[0]
|
||||
AvLen = struct.unpack("<H",TargetInfo[i+2:i+4])[0]
|
||||
AvValue = TargetInfo[i+4:i+4+AvLen]
|
||||
i = i+4+AvLen
|
||||
if AvId == NTLM_MsvAvTimestamp:
|
||||
TimeStamp = AvValue
|
||||
#~ print AvId, AvValue.decode('utf-16')
|
||||
return (ServerChallenge, NegotiateFlags)
|
||||
|
||||
def create_NTLM_AUTHENTICATE_MESSAGE(nonce, user, domain, password, NegotiateFlags):
|
||||
""
|
||||
is_unicode = NegotiateFlags & NTLM_NegotiateUnicode
|
||||
is_NegotiateExtendedSecurity = NegotiateFlags & NTLM_NegotiateExtendedSecurity
|
||||
|
||||
flags = struct.pack('<I',NTLM_TYPE2_FLAGS)
|
||||
|
||||
BODY_LENGTH = 72
|
||||
Payload_start = BODY_LENGTH # in bytes
|
||||
|
||||
Workstation = gethostname().upper()
|
||||
DomainName = domain.upper()
|
||||
UserName = user
|
||||
EncryptedRandomSessionKey = ""
|
||||
if is_unicode:
|
||||
Workstation = Workstation.encode('utf-16-le')
|
||||
DomainName = DomainName.encode('utf-16-le')
|
||||
UserName = UserName.encode('utf-16-le')
|
||||
EncryptedRandomSessionKey = EncryptedRandomSessionKey.encode('utf-16-le')
|
||||
LmChallengeResponse = calc_resp(create_LM_hashed_password_v1(password), nonce)
|
||||
NtChallengeResponse = calc_resp(create_NT_hashed_password_v1(password), nonce)
|
||||
|
||||
if is_NegotiateExtendedSecurity:
|
||||
pwhash = create_NT_hashed_password_v1(password, UserName, DomainName)
|
||||
ClientChallenge = ""
|
||||
for i in range(8):
|
||||
ClientChallenge+= chr(random.getrandbits(8))
|
||||
(NtChallengeResponse, LmChallengeResponse) = ntlm2sr_calc_resp(pwhash, nonce, ClientChallenge) #='\x39 e3 f4 cd 59 c5 d8 60')
|
||||
Signature = 'NTLMSSP\0'
|
||||
MessageType = struct.pack('<I',3) #type 3
|
||||
|
||||
DomainNameLen = struct.pack('<H', len(DomainName))
|
||||
DomainNameMaxLen = struct.pack('<H', len(DomainName))
|
||||
DomainNameOffset = struct.pack('<I', Payload_start)
|
||||
Payload_start += len(DomainName)
|
||||
|
||||
UserNameLen = struct.pack('<H', len(UserName))
|
||||
UserNameMaxLen = struct.pack('<H', len(UserName))
|
||||
UserNameOffset = struct.pack('<I', Payload_start)
|
||||
Payload_start += len(UserName)
|
||||
|
||||
WorkstationLen = struct.pack('<H', len(Workstation))
|
||||
WorkstationMaxLen = struct.pack('<H', len(Workstation))
|
||||
WorkstationOffset = struct.pack('<I', Payload_start)
|
||||
Payload_start += len(Workstation)
|
||||
|
||||
|
||||
LmChallengeResponseLen = struct.pack('<H', len(LmChallengeResponse))
|
||||
LmChallengeResponseMaxLen = struct.pack('<H', len(LmChallengeResponse))
|
||||
LmChallengeResponseOffset = struct.pack('<I', Payload_start)
|
||||
Payload_start += len(LmChallengeResponse)
|
||||
|
||||
NtChallengeResponseLen = struct.pack('<H', len(NtChallengeResponse))
|
||||
NtChallengeResponseMaxLen = struct.pack('<H', len(NtChallengeResponse))
|
||||
NtChallengeResponseOffset = struct.pack('<I', Payload_start)
|
||||
Payload_start += len(NtChallengeResponse)
|
||||
|
||||
EncryptedRandomSessionKeyLen = struct.pack('<H', len(EncryptedRandomSessionKey))
|
||||
EncryptedRandomSessionKeyMaxLen = struct.pack('<H', len(EncryptedRandomSessionKey))
|
||||
EncryptedRandomSessionKeyOffset = struct.pack('<I',Payload_start)
|
||||
Payload_start += len(EncryptedRandomSessionKey)
|
||||
NegotiateFlags = flags
|
||||
|
||||
ProductMajorVersion = struct.pack('<B', 5)
|
||||
ProductMinorVersion = struct.pack('<B', 1)
|
||||
ProductBuild = struct.pack('<H', 2600)
|
||||
VersionReserved1 = struct.pack('<B', 0)
|
||||
VersionReserved2 = struct.pack('<B', 0)
|
||||
VersionReserved3 = struct.pack('<B', 0)
|
||||
NTLMRevisionCurrent = struct.pack('<B', 15)
|
||||
|
||||
MIC = struct.pack('<IIII',0,0,0,0)
|
||||
msg3 = Signature + MessageType + \
|
||||
LmChallengeResponseLen + LmChallengeResponseMaxLen + LmChallengeResponseOffset + \
|
||||
NtChallengeResponseLen + NtChallengeResponseMaxLen + NtChallengeResponseOffset + \
|
||||
DomainNameLen + DomainNameMaxLen + DomainNameOffset + \
|
||||
UserNameLen + UserNameMaxLen + UserNameOffset + \
|
||||
WorkstationLen + WorkstationMaxLen + WorkstationOffset + \
|
||||
EncryptedRandomSessionKeyLen + EncryptedRandomSessionKeyMaxLen + EncryptedRandomSessionKeyOffset + \
|
||||
NegotiateFlags + \
|
||||
ProductMajorVersion + ProductMinorVersion + ProductBuild + \
|
||||
VersionReserved1 + VersionReserved2 + VersionReserved3 + NTLMRevisionCurrent
|
||||
assert BODY_LENGTH==len(msg3), "BODY_LENGTH: %d != msg3: %d" % (BODY_LENGTH,len(msg3))
|
||||
Payload = DomainName + UserName + Workstation + LmChallengeResponse + NtChallengeResponse + EncryptedRandomSessionKey
|
||||
msg3 += Payload
|
||||
msg3 = base64.encodestring(msg3)
|
||||
msg3 = string.replace(msg3, '\n', '')
|
||||
return msg3
|
||||
|
||||
def calc_resp(password_hash, server_challenge):
|
||||
"""calc_resp generates the LM response given a 16-byte password hash and the
|
||||
challenge from the Type-2 message.
|
||||
@param password_hash
|
||||
16-byte password hash
|
||||
@param server_challenge
|
||||
8-byte challenge from Type-2 message
|
||||
returns
|
||||
24-byte buffer to contain the LM response upon return
|
||||
"""
|
||||
# padding with zeros to make the hash 21 bytes long
|
||||
password_hash = password_hash + '\0' * (21 - len(password_hash))
|
||||
res = ''
|
||||
dobj = des.DES(password_hash[0:7])
|
||||
res = res + dobj.encrypt(server_challenge[0:8])
|
||||
|
||||
dobj = des.DES(password_hash[7:14])
|
||||
res = res + dobj.encrypt(server_challenge[0:8])
|
||||
|
||||
dobj = des.DES(password_hash[14:21])
|
||||
res = res + dobj.encrypt(server_challenge[0:8])
|
||||
return res
|
||||
|
||||
def ComputeResponse(ResponseKeyNT, ResponseKeyLM, ServerChallenge, ServerName, ClientChallenge='\xaa'*8, Time='\0'*8):
|
||||
LmChallengeResponse = hmac.new(ResponseKeyLM, ServerChallenge+ClientChallenge).digest() + ClientChallenge
|
||||
|
||||
Responserversion = '\x01'
|
||||
HiResponserversion = '\x01'
|
||||
temp = Responserversion + HiResponserversion + '\0'*6 + Time + ClientChallenge + '\0'*4 + ServerChallenge + '\0'*4
|
||||
NTProofStr = hmac.new(ResponseKeyNT, ServerChallenge + temp).digest()
|
||||
NtChallengeResponse = NTProofStr + temp
|
||||
|
||||
SessionBaseKey = hmac.new(ResponseKeyNT, NTProofStr).digest()
|
||||
return (NtChallengeResponse, LmChallengeResponse)
|
||||
|
||||
def ntlm2sr_calc_resp(ResponseKeyNT, ServerChallenge, ClientChallenge='\xaa'*8):
|
||||
import hashlib
|
||||
LmChallengeResponse = ClientChallenge + '\0'*16
|
||||
sess = hashlib.md5(ServerChallenge+ClientChallenge).digest()
|
||||
NtChallengeResponse = calc_resp(ResponseKeyNT, sess[0:8])
|
||||
return (NtChallengeResponse, LmChallengeResponse)
|
||||
|
||||
def create_LM_hashed_password_v1(passwd):
|
||||
"setup LanManager password"
|
||||
"create LanManager hashed password"
|
||||
|
||||
# fix the password length to 14 bytes
|
||||
passwd = string.upper(passwd)
|
||||
lm_pw = passwd + '\0' * (14 - len(passwd))
|
||||
lm_pw = passwd[0:14]
|
||||
|
||||
# do hash
|
||||
magic_str = "KGS!@#$%" # page 57 in [MS-NLMP]
|
||||
|
||||
res = ''
|
||||
dobj = des.DES(lm_pw[0:7])
|
||||
res = res + dobj.encrypt(magic_str)
|
||||
|
||||
dobj = des.DES(lm_pw[7:14])
|
||||
res = res + dobj.encrypt(magic_str)
|
||||
|
||||
return res
|
||||
|
||||
def create_NT_hashed_password_v1(passwd, user=None, domain=None):
|
||||
"create NT hashed password"
|
||||
digest = hashlib.new('md4', passwd.encode('utf-16le')).digest()
|
||||
return digest
|
||||
|
||||
def create_NT_hashed_password_v2(passwd, user, domain):
|
||||
"create NT hashed password"
|
||||
digest = create_NT_hashed_password_v1(passwd)
|
||||
|
||||
return hmac.new(digest, (user.upper()+domain).encode('utf-16le')).digest()
|
||||
return digest
|
||||
|
||||
def create_sessionbasekey(password):
|
||||
return hashlib.new('md4', create_NT_hashed_password_v1(password)).digest()
|
||||
|
||||
if __name__ == "__main__":
|
||||
def ByteToHex( byteStr ):
|
||||
"""
|
||||
Convert a byte string to it's hex string representation e.g. for output.
|
||||
"""
|
||||
return ' '.join( [ "%02X" % ord( x ) for x in byteStr ] )
|
||||
|
||||
def HexToByte( hexStr ):
|
||||
"""
|
||||
Convert a string hex byte values into a byte string. The Hex Byte values may
|
||||
or may not be space separated.
|
||||
"""
|
||||
bytes = []
|
||||
|
||||
hexStr = ''.join( hexStr.split(" ") )
|
||||
|
||||
for i in range(0, len(hexStr), 2):
|
||||
bytes.append( chr( int (hexStr[i:i+2], 16 ) ) )
|
||||
|
||||
return ''.join( bytes )
|
||||
|
||||
ServerChallenge = HexToByte("01 23 45 67 89 ab cd ef")
|
||||
ClientChallenge = '\xaa'*8
|
||||
Time = '\x00'*8
|
||||
Workstation = "COMPUTER".encode('utf-16-le')
|
||||
ServerName = "Server".encode('utf-16-le')
|
||||
User = "User"
|
||||
Domain = "Domain"
|
||||
Password = "Password"
|
||||
RandomSessionKey = '\55'*16
|
||||
assert HexToByte("e5 2c ac 67 41 9a 9a 22 4a 3b 10 8f 3f a6 cb 6d") == create_LM_hashed_password_v1(Password) # [MS-NLMP] page 72
|
||||
assert HexToByte("a4 f4 9c 40 65 10 bd ca b6 82 4e e7 c3 0f d8 52") == create_NT_hashed_password_v1(Password) # [MS-NLMP] page 73
|
||||
assert HexToByte("d8 72 62 b0 cd e4 b1 cb 74 99 be cc cd f1 07 84") == create_sessionbasekey(Password)
|
||||
assert HexToByte("67 c4 30 11 f3 02 98 a2 ad 35 ec e6 4f 16 33 1c 44 bd be d9 27 84 1f 94") == calc_resp(create_NT_hashed_password_v1(Password), ServerChallenge)
|
||||
assert HexToByte("98 de f7 b8 7f 88 aa 5d af e2 df 77 96 88 a1 72 de f1 1c 7d 5c cd ef 13") == calc_resp(create_LM_hashed_password_v1(Password), ServerChallenge)
|
||||
|
||||
(NTLMv1Response,LMv1Response) = ntlm2sr_calc_resp(create_NT_hashed_password_v1(Password), ServerChallenge, ClientChallenge)
|
||||
assert HexToByte("aa aa aa aa aa aa aa aa 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00") == LMv1Response # [MS-NLMP] page 75
|
||||
assert HexToByte("75 37 f8 03 ae 36 71 28 ca 45 82 04 bd e7 ca f8 1e 97 ed 26 83 26 72 32") == NTLMv1Response
|
||||
|
||||
assert HexToByte("0c 86 8a 40 3b fd 7a 93 a3 00 1e f2 2e f0 2e 3f") == create_NT_hashed_password_v2(Password, User, Domain) # [MS-NLMP] page 76
|
||||
ResponseKeyLM = ResponseKeyNT = create_NT_hashed_password_v2(Password, User, Domain)
|
||||
(NTLMv2Response,LMv2Response) = ComputeResponse(ResponseKeyNT, ResponseKeyLM, ServerChallenge, ServerName, ClientChallenge, Time)
|
||||
assert HexToByte("86 c3 50 97 ac 9c ec 10 25 54 76 4a 57 cc cc 19 aa aa aa aa aa aa aa aa") == LMv2Response # [MS-NLMP] page 76
|
||||
|
||||
# expected failure
|
||||
# According to the spec in section '3.3.2 NTLM v2 Authentication' the NTLMv2Response should be longer than the value given on page 77 (this suggests a mistake in the spec)
|
||||
#~ assert HexToByte("68 cd 0a b8 51 e5 1c 96 aa bc 92 7b eb ef 6a 1c") == NTLMv2Response, "\nExpected: 68 cd 0a b8 51 e5 1c 96 aa bc 92 7b eb ef 6a 1c\nActual: %s" % ByteToHex(NTLMv2Response) # [MS-NLMP] page 77
|
||||
|
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"1.3.0": "messages/1.3.0.txt",
|
||||
"1.6.0": "messages/1.6.0.txt"
|
||||
}
|
@@ -0,0 +1,16 @@
|
||||
Package Control 1.3.0 Changelog:
|
||||
|
||||
Please be sure to restart Sublime Text 2 to start using this new version.
|
||||
|
||||
New Features
|
||||
- Added tracking of usage (install, upgrade, remove) statistics. Go to
|
||||
Preferences > Package Settings > Package Control > Settings - User and
|
||||
set the key "submit_usage" to false.
|
||||
|
||||
- Added local tracking of installed packages in
|
||||
User/Package Control.sublime-settings via the "installed_packages" key.
|
||||
This allows distributing a settings file that will automatically install
|
||||
packages.
|
||||
|
||||
- repositories.json schema version was increased to 1.1 and the
|
||||
"last_modified" key was added.
|
@@ -0,0 +1,95 @@
|
||||
Package Control 1.6.0 Changelog:
|
||||
|
||||
Wow! It has been 9 months since the last stable release of Package Control.
|
||||
Quite a lot has happened since then, including the release of Sublime Text 2
|
||||
stable, and hundreds upon hundreds of new packages from the community!
|
||||
|
||||
A quick thank you to Kevin Yank (@sentience) for recently volunteering to help
|
||||
review packages for inclusion in the default channel, and ninj0x
|
||||
(https://github.com/ninj0x) for rewriting the Package Control Community
|
||||
Packages search functionality so it is nice and fast once again! The lists
|
||||
below include specific thanks for code contributions.
|
||||
|
||||
As Sublime Text has become increasingly more popular, and the number of
|
||||
packages has increased so rapidly, the bandwidth requirements have also
|
||||
significantly increased. This month the default channel will very likely serve
|
||||
over 1TB of JSON data. If you feel so inclined, consider pitching in a small
|
||||
amount to help cover the cost:
|
||||
http://wbond.net/sublime_packages/package_control/say_thanks. A big thank you
|
||||
to all of the users who have already contributed!
|
||||
|
||||
|
||||
Enhancements
|
||||
|
||||
|
||||
- Added full (custom) proxy authentication support for HTTPS connections
|
||||
|
||||
- Added NTLM authentication for proxies on Windows
|
||||
|
||||
- Proxy authentication information is now set via the new proxy_username and
|
||||
proxy_password settings.
|
||||
|
||||
- If the https_proxy setting it set to false, it will not inherit from the
|
||||
http_proxy setting (thanks planardothum!)
|
||||
|
||||
- The time of the last successful run is no longer stored in
|
||||
Packages/User/Package Control.sublime-settings, but rather in
|
||||
Packages/User/Package Control.last-run making it easier to ignore via git,
|
||||
hg, etc. (thanks schlamar!)
|
||||
|
||||
- Packages are now ignored during install and upgrade to help prevents errors
|
||||
where Sublime Text tries to read a file as it is being extracted
|
||||
|
||||
- Packages that include DLLs for Windows can now be upgraded. In-use
|
||||
DLLs will be detected and the user prompted to restart.
|
||||
|
||||
- Package version numbers may now include non-numeric components, and semantic
|
||||
versioning (http://semver.org) is fully supported
|
||||
|
||||
- JSON parsing messages are now printed to the console instead of being shown
|
||||
in an error popup
|
||||
|
||||
- Added support for changes to the BitBucket API
|
||||
|
||||
- Added support for changes to GitHub URLs
|
||||
|
||||
- Added the debug setting to help track down HTTP connection issues
|
||||
|
||||
- All of the downloaders will now try to use HTTP compression
|
||||
|
||||
- All of the downloaders will now follow redirects
|
||||
|
||||
- Added new install_missing setting to control if Package Control should try
|
||||
to install any packages that appear to be missing from the current machine.
|
||||
This defaults to true, and is really only useful if you want to prevent
|
||||
Package Control from connecting to the internet without explicitly asking
|
||||
it to.
|
||||
|
||||
- Added lots of code comments as a first step towards making contributions
|
||||
by other developers easier
|
||||
|
||||
|
||||
Bug Fixes
|
||||
|
||||
|
||||
- Added support for the new preferences filename (thanks titoBouzout!)
|
||||
|
||||
- If a package is missing from a machine, but not available for that
|
||||
platform, it is no longer considered an error (thanks schlamar!)
|
||||
|
||||
- Updated CA certs
|
||||
|
||||
- Fixed handling of install and upgrade messages that contain non-ASCII
|
||||
characters
|
||||
|
||||
- Fixed a unicode error trying to load the CA cert bundle file on Windows when
|
||||
the install path to Sublime Text contains non-ASCII characters
|
||||
|
||||
- Better handling for edge case HTTP errors (thanks tgecho!)
|
||||
|
||||
- Fixed a number of errors related to non-ASCII error messages being created
|
||||
by the operating system (thanks quarnster!)
|
||||
|
||||
- GitHub URLs will now automatically be trimmed of trailing .git suffixes
|
||||
|
||||
- Badly formatted messages.json files will no longer break the install process
|
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": "1.6.3",
|
||||
"url": "http://wbond.net/sublime_packages/package_control",
|
||||
"description": "A full-featured package manager"
|
||||
}
|
@@ -0,0 +1,43 @@
|
||||
= Sublime Package Control
|
||||
|
||||
A Sublime Text 2 (http://www.sublimetext.com/2) package manager for easily
|
||||
discovering, install, upgrading and removing packages. Also includes an
|
||||
automatic updater and package creation tool.
|
||||
|
||||
Packages can be installed from GitHub, BitBucket or custom package repositories.
|
||||
The plugin uses a channel and repository system to allow users to find new
|
||||
packages over time without any work. It also supports working with packages that
|
||||
were manually installed.
|
||||
|
||||
Please see http://wbond.net/sublime_packages/package_control for install
|
||||
instructions, screenshots and documentation.
|
||||
|
||||
== License
|
||||
|
||||
Sublime Package Control (except for the ntlm library) is licensed under the MIT
|
||||
license.
|
||||
|
||||
Copyright (c) 2011-2012 Will Bond <will@wbond.net>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
The ntlm library (for Windows) is from the python-ntlm project
|
||||
(http://code.google.com/p/python-ntlm/) and is licensed under the GNU Lesser
|
||||
General Public License (LGPL). Details can be found in the source files
|
||||
located in lib/windows/ntlm/.
|
Reference in New Issue
Block a user