mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
169 lines
6.4 KiB
HTML
169 lines
6.4 KiB
HTML
|
<!-- ***** BEGIN LICENSE BLOCK *****
|
||
|
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||
|
-
|
||
|
- The contents of this file are subject to the Mozilla Public License Version
|
||
|
- 1.1 (the "License"); you may not use this file except in compliance with
|
||
|
- the License. You may obtain a copy of the License at
|
||
|
- http://www.mozilla.org/MPL/
|
||
|
-
|
||
|
- Software distributed under the License is distributed on an "AS IS" basis,
|
||
|
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||
|
- for the specific language governing rights and limitations under the
|
||
|
- License.
|
||
|
-
|
||
|
- The Original Code is the Netscape security libraries.
|
||
|
-
|
||
|
- The Initial Developer of the Original Code is
|
||
|
- Netscape Communications Corporation.
|
||
|
- Portions created by the Initial Developer are Copyright (C) 1994-2000
|
||
|
- the Initial Developer. All Rights Reserved.
|
||
|
-
|
||
|
- Contributor(s):
|
||
|
-
|
||
|
- Alternatively, the contents of this file may be used under the terms of
|
||
|
- either the GNU General Public License Version 2 or later (the "GPL"), or
|
||
|
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||
|
- in which case the provisions of the GPL or the LGPL are applicable instead
|
||
|
- of those above. If you wish to allow use of your version of this file only
|
||
|
- under the terms of either the GPL or the LGPL, and not to allow others to
|
||
|
- use your version of this file under the terms of the MPL, indicate your
|
||
|
- decision by deleting the provisions above and replace them with the notice
|
||
|
- and other provisions required by the GPL or the LGPL. If you do not delete
|
||
|
- the provisions above, a recipient may use your version of this file under
|
||
|
- the terms of any one of the MPL, the GPL or the LGPL.
|
||
|
-
|
||
|
- ***** END LICENSE BLOCK ***** -->
|
||
|
|
||
|
<html>
|
||
|
<head>
|
||
|
<title>CRMF Test Page for PSM</title>
|
||
|
<script language=javascript>
|
||
|
var request;
|
||
|
//This variable must be set to the first value
|
||
|
//in the select field "testType" in the form.
|
||
|
var keyGenType="SigningOnlyRSA";
|
||
|
|
||
|
var requestedDN = "CN=Javi CA Shack ID, O=NSS";
|
||
|
|
||
|
function setTestType() {
|
||
|
var testType = document.crmfForm.testType;
|
||
|
|
||
|
keyGenType = testType.options[testType.selectedIndex].value;
|
||
|
}
|
||
|
|
||
|
function setRequest() {
|
||
|
with (document.crmfForm) {
|
||
|
CRMFRequest.value = request.request;
|
||
|
submit();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function generateSignAndEncryptRSARequest() {
|
||
|
request = crypto.generateCRMFRequest(requestedDN,
|
||
|
null, null, null, "setRequest()",
|
||
|
crypto.algorithms.rsa.keyEx.keySizes[0],
|
||
|
null, "rsa-dual-use");
|
||
|
}
|
||
|
|
||
|
function generateSigningOnlyRSARequest() {
|
||
|
request = crypto.generateCRMFRequest(requestedDN,null,null,null,"setRequest()",
|
||
|
crypto.algorithms.rsa.signing.keySizes[0],
|
||
|
null, "rsa-sign");
|
||
|
}
|
||
|
|
||
|
function generateEncryptionOnlyRSARequest() {
|
||
|
request = crypto.generateCRMFRequest(requestedDN, null, null, null, "setRequest()",
|
||
|
crypto.algorithms.rsa.keyEx.keySizes[0],
|
||
|
null, "rsa-ex");
|
||
|
}
|
||
|
|
||
|
function generateDualRSAKeys() {
|
||
|
request = crypto.generateCRMFRequest(requestedDN, null, null, null, "setRequest()",
|
||
|
crypto.algorithms.rsa.keyEx.keySizes[0],
|
||
|
null, "rsa-ex",
|
||
|
crypto.algorithms.rsa.signing.keySizes[0],
|
||
|
null, "rsa-sign");
|
||
|
}
|
||
|
|
||
|
function generateDSAKey() {
|
||
|
request = crypto.generateCRMFRequest(requestedDN, null, null, null, "setRequest()",
|
||
|
crypto.algorithms.dsa.keySizes[0],
|
||
|
null, "dsa-sign-nonrepudiation");
|
||
|
}
|
||
|
|
||
|
function processForm(form) {
|
||
|
with (form) {
|
||
|
if (typeof(crypto.version) == "undefined") {
|
||
|
alert('You must be running PSM in order to use this page.');
|
||
|
return false;
|
||
|
}
|
||
|
if (NSSDirectory.value == "") {
|
||
|
alert('You must provide a path for NSS to use.');
|
||
|
return false;
|
||
|
}
|
||
|
if (dbPassword.value == "") {
|
||
|
alert('You must provide a password for the certificate database.');
|
||
|
return false;
|
||
|
}
|
||
|
if (CANickname.value == "") {
|
||
|
alert('You must provide a CA Nickname to use.');
|
||
|
return false;
|
||
|
}
|
||
|
//Now do the correct key generation.
|
||
|
if (keyGenType == "SignAndEncryptRSA") {
|
||
|
generateSignAndEncryptRSARequest();
|
||
|
} else if (keyGenType == "SigningOnlyRSA") {
|
||
|
generateSigningOnlyRSARequest();
|
||
|
} else if (keyGenType == "EncryptionOnlyRSA") {
|
||
|
generateEncryptionOnlyRSARequest();
|
||
|
} else if (keyGenType == "DualRSAKeys") {
|
||
|
generateDualRSAKeys();
|
||
|
} else if (keyGenType == "DSAKeyGen") {
|
||
|
generateDSAKey();
|
||
|
}
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
</script>
|
||
|
</head>
|
||
|
<body>
|
||
|
<h1><center>CRMF Test page for PSM</center></h1>
|
||
|
This page is designed to be used in combination with the executable
|
||
|
produced by ns/security/cmd/crmf-cgi in a CGI environment. In order
|
||
|
to successfully use this page, modify its action to post to a a server
|
||
|
where you have installed the crmfcgi executable and you'll be able to
|
||
|
test the functionality.
|
||
|
<hr>
|
||
|
<form name="crmfForm" method=post action="http://www.cgi-site.com/cgi-bin/crmfcgi">
|
||
|
<h2>Certificate Database information</h2>
|
||
|
First, enter all the information for the CGI to use for initializing
|
||
|
NSS. The CGI will use the directory entered below as the directory
|
||
|
where to look for the certificate and key databases.
|
||
|
<pre>
|
||
|
Path for NSS Config: <input size=40 type="text" name="NSSDirectory">
|
||
|
</pre>
|
||
|
Enter the password for the certificate database found in the direcotry
|
||
|
above.
|
||
|
<pre>
|
||
|
Database Password: <input type="password" name="dbPassword" size=40>
|
||
|
</pre>
|
||
|
Now enter the nickname of the certificate to use for signing the
|
||
|
certificate issued during this test.
|
||
|
<pre>
|
||
|
CA Nickname: <input size=40 type="text" name="CANickname">
|
||
|
</pre>
|
||
|
<h2>Now, figure out which type of key generation you want to test:</h2>
|
||
|
<select name="testType" onChange="setTestType()">`
|
||
|
<option value="SigningOnlyRSA">Signing Only-RSA
|
||
|
<option value="EncryptionOnlyRSA">Encryption Only-RSA
|
||
|
<option value="SignAndEncryptRSA">Sign and Encrypt Single Key -RSA
|
||
|
<option value="DualRSAKeys">Dual Keys-RSA
|
||
|
<option value="DSAKeyGen">DSA Key Gen
|
||
|
</select>
|
||
|
<input type="hidden" name=CRMFRequest value="">
|
||
|
<hr>
|
||
|
<input type="button" value="OK" onclick="processForm(document.crmfForm)">
|
||
|
</form>
|
||
|
</body>
|
||
|
</html>
|