зеркало из https://github.com/mozilla/pjs.git
remove export controls, and get things to build against NSS 3.1.1 under mozilla.
This commit is contained in:
Родитель
3740cf47b1
Коммит
36dc0e2931
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../..
|
CORE_DEPTH = ../../../../..
|
||||||
|
|
||||||
MODULE = ninja
|
MODULE = jss
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
NS_USE_JDK = 1
|
||||||
|
|
||||||
|
|
|
@ -129,59 +129,4 @@ public class EncryptionAlgorithm extends Algorithm {
|
||||||
RC2_CBC = new EncryptionAlgorithm(SEC_OID_RC2_CBC, "RC2/CBC",
|
RC2_CBC = new EncryptionAlgorithm(SEC_OID_RC2_CBC, "RC2/CBC",
|
||||||
IVParameterSpec.class, 8, false,
|
IVParameterSpec.class, 8, false,
|
||||||
OBJECT_IDENTIFIER.RSA_CIPHER.subBranch(2) );
|
OBJECT_IDENTIFIER.RSA_CIPHER.subBranch(2) );
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////
|
|
||||||
// Export control code
|
|
||||||
///////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
private static final int NUMBER_OF_ALGORITHMS = 8;
|
|
||||||
|
|
||||||
public EncryptionAlgorithm[] getAllAlgorithms( Usage usage ) {
|
|
||||||
EncryptionAlgorithm[] algs = new
|
|
||||||
EncryptionAlgorithm[NUMBER_OF_ALGORITHMS];
|
|
||||||
|
|
||||||
long[] indices = getAllAlgorithmIndices( usage );
|
|
||||||
|
|
||||||
int j = 0;
|
|
||||||
for( int i = 0; i <= indices.length; i++ ) {
|
|
||||||
switch( ( int ) indices[i] ) {
|
|
||||||
case SEC_OID_RC4:
|
|
||||||
algs[j] = RC4;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_DES_ECB:
|
|
||||||
algs[j] = DES_ECB;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_DES_CBC:
|
|
||||||
algs[j] = DES_CBC;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case CKM_DES_CBC_PAD:
|
|
||||||
algs[j] = DES_CBC_PAD;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case CKM_DES3_ECB:
|
|
||||||
algs[j] = DES3_ECB;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_DES_EDE3_CBC:
|
|
||||||
algs[j] = DES3_CBC;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case CKM_DES3_CBC_PAD:
|
|
||||||
algs[j] = DES3_CBC_PAD;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_RC2_CBC:
|
|
||||||
algs[j] = RC2_CBC;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return algs;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -110,42 +110,4 @@ public class KeyGenAlgorithm extends Algorithm {
|
||||||
PBA_SHA1_HMAC = new KeyGenAlgorithm(
|
PBA_SHA1_HMAC = new KeyGenAlgorithm(
|
||||||
CKM_PBA_SHA1_WITH_SHA1_HMAC,
|
CKM_PBA_SHA1_WITH_SHA1_HMAC,
|
||||||
"PBA/SHA1/HMAC", 160, null, PBEKeyGenParams.class );
|
"PBA/SHA1/HMAC", 160, null, PBEKeyGenParams.class );
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////
|
|
||||||
// Export control code
|
|
||||||
//////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
private static final int NUMBER_OF_ALGORITHMS = 4;
|
|
||||||
|
|
||||||
public KeyGenAlgorithm[] getAllAlgorithms( Usage usage ) {
|
|
||||||
KeyGenAlgorithm[] algs = new KeyGenAlgorithm[NUMBER_OF_ALGORITHMS];
|
|
||||||
|
|
||||||
long[] indices = getAllAlgorithmIndices( usage );
|
|
||||||
|
|
||||||
int j = 0;
|
|
||||||
for( int i = 0; i <= indices.length; i++ ) {
|
|
||||||
switch( ( int ) indices[i] ) {
|
|
||||||
case CKM_DES_KEY_GEN:
|
|
||||||
algs[j] = DES;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case CKM_DES3_KEY_GEN:
|
|
||||||
algs[j] = DES3;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case CKM_RC4_KEY_GEN:
|
|
||||||
algs[j] = RC4;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case CKM_PBA_SHA1_WITH_SHA1_HMAC:
|
|
||||||
algs[j] = PBA_SHA1_HMAC;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return algs;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,34 +72,4 @@ public class KeyPairAlgorithm extends Algorithm {
|
||||||
|
|
||||||
public static final KeyPairAlgorithm
|
public static final KeyPairAlgorithm
|
||||||
DSA = new KeyPairAlgorithm(CKM_DSA_KEY_PAIR_GEN, "DSA", DSAFamily);
|
DSA = new KeyPairAlgorithm(CKM_DSA_KEY_PAIR_GEN, "DSA", DSAFamily);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////
|
|
||||||
// Export control code
|
|
||||||
////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
private static final int NUMBER_OF_ALGORITHMS = 4;
|
|
||||||
|
|
||||||
public KeyPairAlgorithm[] getAllAlgorithms( Usage usage ) {
|
|
||||||
KeyPairAlgorithm[] algs = new KeyPairAlgorithm[NUMBER_OF_ALGORITHMS];
|
|
||||||
|
|
||||||
long[] indices = getAllAlgorithmIndices( usage );
|
|
||||||
|
|
||||||
int j = 0;
|
|
||||||
for( int i = 0; i <= indices.length; i++ ) {
|
|
||||||
switch( ( int ) indices[i] ) {
|
|
||||||
case CKM_RSA_PKCS_KEY_PAIR_GEN:
|
|
||||||
algs[j] = RSA;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case CKM_DSA_KEY_PAIR_GEN:
|
|
||||||
algs[j] = DSA;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return algs;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,54 +84,4 @@ public class KeyWrapAlgorithm extends Algorithm {
|
||||||
public static final KeyWrapAlgorithm
|
public static final KeyWrapAlgorithm
|
||||||
RSA = new KeyWrapAlgorithm(SEC_OID_PKCS1_RSA_ENCRYPTION, "RSA", null,
|
RSA = new KeyWrapAlgorithm(SEC_OID_PKCS1_RSA_ENCRYPTION, "RSA", null,
|
||||||
false);
|
false);
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////
|
|
||||||
// Export control code
|
|
||||||
///////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
private static final int NUMBER_OF_ALGORITHMS = 7;
|
|
||||||
|
|
||||||
public KeyWrapAlgorithm[] getAllAlgorithms( Usage usage ) {
|
|
||||||
KeyWrapAlgorithm[] algs = new KeyWrapAlgorithm[NUMBER_OF_ALGORITHMS];
|
|
||||||
|
|
||||||
long[] indices = getAllAlgorithmIndices( usage );
|
|
||||||
|
|
||||||
int j = 0;
|
|
||||||
for( int i = 0; i <= indices.length; i++ ) {
|
|
||||||
switch( ( int ) indices[i] ) {
|
|
||||||
case SEC_OID_DES_ECB:
|
|
||||||
algs[j] = DES_ECB;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_DES_CBC:
|
|
||||||
algs[j] = DES_CBC;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case CKM_DES_CBC_PAD:
|
|
||||||
algs[j] = DES_CBC_PAD;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case CKM_DES3_ECB:
|
|
||||||
algs[j] = DES3_ECB;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_DES_EDE3_CBC:
|
|
||||||
algs[j] = DES3_CBC;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case CKM_DES3_CBC_PAD:
|
|
||||||
algs[j] = DES3_CBC_PAD;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_PKCS1_RSA_ENCRYPTION:
|
|
||||||
algs[j] = RSA;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return algs;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,58 +140,4 @@ public class PBEAlgorithm extends KeyGenAlgorithm {
|
||||||
SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC2_CBC,
|
SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC2_CBC,
|
||||||
"PBE/SHA1/RC2-40", 40, PKCS12_PBE.subBranch(6),
|
"PBE/SHA1/RC2-40", 40, PKCS12_PBE.subBranch(6),
|
||||||
EncryptionAlgorithm.RC2_CBC, 20 );
|
EncryptionAlgorithm.RC2_CBC, 20 );
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////
|
|
||||||
// Export control code
|
|
||||||
//////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
private static final int NUMBER_OF_ALGORITHMS = 8;
|
|
||||||
|
|
||||||
public KeyGenAlgorithm[] getAllAlgorithms( Usage usage ) {
|
|
||||||
KeyGenAlgorithm[] algs = new KeyGenAlgorithm[NUMBER_OF_ALGORITHMS];
|
|
||||||
|
|
||||||
long[] indices = getAllAlgorithmIndices( usage );
|
|
||||||
|
|
||||||
int j = 0;
|
|
||||||
for( int i = 0; i <= indices.length; i++ ) {
|
|
||||||
switch( ( int ) indices[i] ) {
|
|
||||||
case SEC_OID_PKCS5_PBE_WITH_MD2_AND_DES_CBC:
|
|
||||||
algs[j] = PBE_MD2_DES_CBC;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_PKCS5_PBE_WITH_MD5_AND_DES_CBC:
|
|
||||||
algs[j] = PBE_MD5_DES_CBC;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_PKCS5_PBE_WITH_SHA1_AND_DES_CBC:
|
|
||||||
algs[j] = PBE_SHA1_DES_CBC;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC4:
|
|
||||||
algs[j] = PBE_SHA1_RC4_128;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC4:
|
|
||||||
algs[j] = PBE_SHA1_RC4_40;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_3KEY_TRIPLE_DES_CBC:
|
|
||||||
algs[j] = PBE_SHA1_DES3_CBC;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC2_CBC:
|
|
||||||
algs[j] = PBE_SHA1_RC2_128_CBC;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC2_CBC:
|
|
||||||
algs[j] = PBE_SHA1_RC2_40_CBC;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return algs;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,8 @@
|
||||||
#include <secitem.h>
|
#include <secitem.h>
|
||||||
#include <secoidt.h>
|
#include <secoidt.h>
|
||||||
#include <keyt.h> /* for PQGParams */
|
#include <keyt.h> /* for PQGParams */
|
||||||
#include <pqggen.h>
|
#include <blapi.h>
|
||||||
|
#include <pqgutil.h>
|
||||||
|
|
||||||
#include <jss_bigint.h>
|
#include <jss_bigint.h>
|
||||||
#include <jssutil.h>
|
#include <jssutil.h>
|
||||||
|
|
|
@ -143,51 +143,4 @@ public class SignatureAlgorithm extends Algorithm {
|
||||||
new SignatureAlgorithm(SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST,
|
new SignatureAlgorithm(SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST,
|
||||||
"DSASignatureWithSHA1Digest", DSASignature, DigestAlgorithm.SHA1,
|
"DSASignatureWithSHA1Digest", DSASignature, DigestAlgorithm.SHA1,
|
||||||
ANSI_X9_ALGORITHM.subBranch(3) );
|
ANSI_X9_ALGORITHM.subBranch(3) );
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////
|
|
||||||
// Export control code
|
|
||||||
//////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
private static final int NUMBER_OF_ALGORITHMS = 6;
|
|
||||||
|
|
||||||
public SignatureAlgorithm[] getAllAlgorithms( Usage usage ) {
|
|
||||||
SignatureAlgorithm[] algs = new
|
|
||||||
SignatureAlgorithm[NUMBER_OF_ALGORITHMS];
|
|
||||||
|
|
||||||
long[] indices = getAllAlgorithmIndices( usage );
|
|
||||||
|
|
||||||
int j = 0;
|
|
||||||
for( int i = 0; i <= indices.length; i++ ) {
|
|
||||||
switch( ( int ) indices[i] ) {
|
|
||||||
case SEC_OID_PKCS1_RSA_ENCRYPTION:
|
|
||||||
algs[j] = RSASignature ;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_ANSIX9_DSA_SIGNATURE:
|
|
||||||
algs[j] = DSASignature;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION:
|
|
||||||
algs[j] = RSASignatureWithMD2Digest;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION:
|
|
||||||
algs[j] = RSASignatureWithMD5Digest;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION:
|
|
||||||
algs[j] = RSASignatureWithSHA1Digest;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
case SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST:
|
|
||||||
algs[j] = DSASignatureWithSHA1Digest;
|
|
||||||
j++;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return algs;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,37 +30,3 @@
|
||||||
# may use your version of this file under either the MPL or the
|
# may use your version of this file under either the MPL or the
|
||||||
# GPL.
|
# GPL.
|
||||||
#
|
#
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Set the LD_LIBS value to encompass all static JSS, security, and #
|
|
||||||
# dbm libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
LD_LIBS += $(LIBJSSUTIL) \
|
|
||||||
$(LIBJSSPOLICY) \
|
|
||||||
$(LIBSECMOD) \
|
|
||||||
$(LIBCERT) \
|
|
||||||
$(LIBKEY) \
|
|
||||||
$(LIBCRYPTO) \
|
|
||||||
$(LIBHASH) \
|
|
||||||
$(LIBSECUTIL) \
|
|
||||||
$(LIBDBM) \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Append additional LD_LIBS value to encompass all dynamic NSPR 2.0, #
|
|
||||||
# java, and system libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
ifeq ($(OS_ARCH), WINNT)
|
|
||||||
LD_LIBS += $(DLLPLDS) $(DLLPLC) $(DLLPR) $(DLLSYSTEM)
|
|
||||||
else
|
|
||||||
LD_LIBS += -L$(SOURCE_LIB_DIR) -lplds3 -lplc3 -lnspr3 $(DLLSYSTEM)
|
|
||||||
endif
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Turn off any Export Control Policy for these libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
POLICY =
|
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../..
|
CORE_DEPTH = ../../../../..
|
||||||
|
|
||||||
MODULE = ninja
|
MODULE = jss
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
NS_USE_JDK = 1
|
||||||
|
|
||||||
|
|
|
@ -30,37 +30,3 @@
|
||||||
# may use your version of this file under either the MPL or the
|
# may use your version of this file under either the MPL or the
|
||||||
# GPL.
|
# GPL.
|
||||||
#
|
#
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Set the LD_LIBS value to encompass all static JSS, security, and #
|
|
||||||
# dbm libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
LD_LIBS += $(LIBSECMOD) \
|
|
||||||
$(LIBPKCS12) \
|
|
||||||
$(LIBPKCS7) \
|
|
||||||
$(LIBHASH) \
|
|
||||||
$(LIBCERT) \
|
|
||||||
$(LIBKEY) \
|
|
||||||
$(LIBCRYPTO) \
|
|
||||||
$(LIBSECUTIL) \
|
|
||||||
$(LIBDBM) \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Append additional LD_LIBS value to encompass all dynamic NSPR 2.0, #
|
|
||||||
# java, and system libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
ifeq ($(OS_ARCH), WINNT)
|
|
||||||
LD_LIBS += $(DLLPLDS) $(DLLPLC) $(DLLPR) $(DLLSYSTEM)
|
|
||||||
else
|
|
||||||
LD_LIBS += -L$(SOURCE_LIB_DIR) -lplds3 -lplc3 -lnspr3 $(DLLSYSTEM)
|
|
||||||
endif
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Turn off any Export Control Policy for these libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
POLICY =
|
|
||||||
|
|
||||||
|
|
|
@ -1,49 +0,0 @@
|
||||||
#
|
|
||||||
# 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 Services for Java.
|
|
||||||
#
|
|
||||||
# The Initial Developer of the Original Code is Netscape
|
|
||||||
# Communications Corporation. Portions created by Netscape are
|
|
||||||
# Copyright (C) 1998-2000 Netscape Communications Corporation. All
|
|
||||||
# Rights Reserved.
|
|
||||||
#
|
|
||||||
# Contributor(s):
|
|
||||||
#
|
|
||||||
# Alternatively, the contents of this file may be used under the
|
|
||||||
# terms of the GNU General Public License Version 2 or later (the
|
|
||||||
# "GPL"), in which case the provisions of the GPL are applicable
|
|
||||||
# instead of those above. If you wish to allow use of your
|
|
||||||
# version of this file only under the terms of the GPL and not to
|
|
||||||
# allow others to use your version of this file under the MPL,
|
|
||||||
# indicate your decision by deleting the provisions above and
|
|
||||||
# replace them with the notice and other provisions required by
|
|
||||||
# the GPL. If you do not delete the provisions above, a recipient
|
|
||||||
# may use your version of this file under either the MPL or the
|
|
||||||
# GPL.
|
|
||||||
#
|
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../..
|
|
||||||
|
|
||||||
MODULE = ninja
|
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
|
||||||
|
|
||||||
REQUIRES = nspr20 dbm security
|
|
||||||
|
|
||||||
PRIVATE_EXPORTS = hclhacks.h \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
CSRCS = \
|
|
||||||
secvfy.c \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
LIBRARY_NAME = jsshclhacks
|
|
|
@ -1,382 +0,0 @@
|
||||||
/*
|
|
||||||
* 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 Services for Java.
|
|
||||||
*
|
|
||||||
* The Initial Developer of the Original Code is Netscape
|
|
||||||
* Communications Corporation. Portions created by Netscape are
|
|
||||||
* Copyright (C) 1998-2000 Netscape Communications Corporation. All
|
|
||||||
* Rights Reserved.
|
|
||||||
*
|
|
||||||
* Contributor(s):
|
|
||||||
*
|
|
||||||
* Alternatively, the contents of this file may be used under the
|
|
||||||
* terms of the GNU General Public License Version 2 or later (the
|
|
||||||
* "GPL"), in which case the provisions of the GPL are applicable
|
|
||||||
* instead of those above. If you wish to allow use of your
|
|
||||||
* version of this file only under the terms of the GPL and not to
|
|
||||||
* allow others to use your version of this file under the MPL,
|
|
||||||
* indicate your decision by deleting the provisions above and
|
|
||||||
* replace them with the notice and other provisions required by
|
|
||||||
* the GPL. If you do not delete the provisions above, a recipient
|
|
||||||
* may use your version of this file under either the MPL or the
|
|
||||||
* GPL.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "crypto.h"
|
|
||||||
#include "sechash.h"
|
|
||||||
#include "key.h"
|
|
||||||
#include "secasn1.h"
|
|
||||||
#include "secoid.h"
|
|
||||||
#include "pk11func.h"
|
|
||||||
#include "rsa.h"
|
|
||||||
#include "secerr.h"
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Decrypt signature block using public key (in place)
|
|
||||||
** XXX this is assuming that the signature algorithm has WITH_RSA_ENCRYPTION
|
|
||||||
*/
|
|
||||||
static SECStatus
|
|
||||||
DecryptSigBlock(int *tagp, unsigned char *digest, SECKEYPublicKey *key,
|
|
||||||
SECItem *sig, char *wincx)
|
|
||||||
{
|
|
||||||
SECItem it;
|
|
||||||
SGNDigestInfo *di = NULL;
|
|
||||||
unsigned char *dsig;
|
|
||||||
SECStatus rv;
|
|
||||||
SECOidTag tag;
|
|
||||||
unsigned char buf[MAX_RSA_MODULUS_LEN];
|
|
||||||
|
|
||||||
dsig = NULL;
|
|
||||||
it.data = buf;
|
|
||||||
it.len = sizeof(buf);
|
|
||||||
|
|
||||||
if (key == NULL) goto loser;
|
|
||||||
|
|
||||||
/* Decrypt signature block */
|
|
||||||
dsig = (unsigned char*) PORT_Alloc(sig->len);
|
|
||||||
if (dsig == NULL) goto loser;
|
|
||||||
|
|
||||||
/* decrypt the block */
|
|
||||||
rv = PK11_VerifyRecover(key, sig, &it, wincx);
|
|
||||||
if (rv != SECSuccess) goto loser;
|
|
||||||
|
|
||||||
di = SGN_DecodeDigestInfo(&it);
|
|
||||||
if (di == NULL) goto sigloser;
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Finally we have the digest info; now we can extract the algorithm
|
|
||||||
** ID and the signature block
|
|
||||||
*/
|
|
||||||
tag = SECOID_GetAlgorithmTag(&di->digestAlgorithm);
|
|
||||||
/* XXX Check that tag is an appropriate algorithm? */
|
|
||||||
if (di->digest.len > 32) {
|
|
||||||
PORT_SetError(SEC_ERROR_OUTPUT_LEN);
|
|
||||||
goto loser;
|
|
||||||
}
|
|
||||||
PORT_Memcpy(digest, di->digest.data, di->digest.len);
|
|
||||||
*tagp = tag;
|
|
||||||
goto done;
|
|
||||||
|
|
||||||
sigloser:
|
|
||||||
PORT_SetError(SEC_ERROR_BAD_SIGNATURE);
|
|
||||||
|
|
||||||
loser:
|
|
||||||
rv = SECFailure;
|
|
||||||
|
|
||||||
done:
|
|
||||||
if (di != NULL) SGN_DestroyDigestInfo(di);
|
|
||||||
if (dsig != NULL) PORT_Free(dsig);
|
|
||||||
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef enum { VFY_RSA, VFY_DSA} VerifyType;
|
|
||||||
|
|
||||||
/************************************************************************/
|
|
||||||
/************************************************************************/
|
|
||||||
/* Above is from secvfy.c. Here's the new stuff: */
|
|
||||||
/* Reverse-direction verification: get the signature at the end of the */
|
|
||||||
/* digest instead of at the beginning. */
|
|
||||||
/************************************************************************/
|
|
||||||
/************************************************************************/
|
|
||||||
#include "hclhacks.h"
|
|
||||||
|
|
||||||
struct VFYContext2Str {
|
|
||||||
SECOidTag compositeAlg;
|
|
||||||
SECOidTag alg; /* hash alg */
|
|
||||||
SECKEYPublicKey *key;
|
|
||||||
VerifyType type;
|
|
||||||
void *hashcx;
|
|
||||||
SECHashObject *hashobj;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Pulls the hash algorithm, signing algorithm, and key type out of a
|
|
||||||
* composite algorithm.
|
|
||||||
*
|
|
||||||
* alg: the composite algorithm to dissect.
|
|
||||||
* hashalg: address of a SECOidTag which will be set with the hash algorithm.
|
|
||||||
* signalg: address of a SECOidTag which will be set with the signing alg.
|
|
||||||
* keyType: address of a KeyType which will be set with the key type.
|
|
||||||
* Returns: SECSuccess if the algorithm was acceptable, SECFailure if the
|
|
||||||
* algorithm was not found or was not a signing algorithm.
|
|
||||||
*/
|
|
||||||
static SECStatus
|
|
||||||
dissectSigAlg(SECOidTag alg, SECOidTag *hashalg, SECOidTag *signalg,
|
|
||||||
KeyType *keyType)
|
|
||||||
{
|
|
||||||
PR_ASSERT(hashalg!=NULL && signalg!=NULL && keyType!=NULL);
|
|
||||||
|
|
||||||
switch (alg) {
|
|
||||||
/* We probably shouldn't be generating MD2 signatures either */
|
|
||||||
case SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION:
|
|
||||||
*hashalg = SEC_OID_MD2;
|
|
||||||
*signalg = SEC_OID_PKCS1_RSA_ENCRYPTION;
|
|
||||||
*keyType = rsaKey;
|
|
||||||
return SECSuccess;
|
|
||||||
case SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION:
|
|
||||||
*hashalg = SEC_OID_MD5;
|
|
||||||
*signalg = SEC_OID_PKCS1_RSA_ENCRYPTION;
|
|
||||||
*keyType = rsaKey;
|
|
||||||
return SECSuccess;
|
|
||||||
case SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION:
|
|
||||||
case SEC_OID_ISO_SHA_WITH_RSA_SIGNATURE:
|
|
||||||
*hashalg = SEC_OID_SHA1;
|
|
||||||
*signalg = SEC_OID_PKCS1_RSA_ENCRYPTION;
|
|
||||||
*keyType = rsaKey;
|
|
||||||
return SECSuccess;
|
|
||||||
/* what about normal DSA? */
|
|
||||||
case SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST:
|
|
||||||
case SEC_OID_BOGUS_DSA_SIGNATURE_WITH_SHA1_DIGEST:
|
|
||||||
*hashalg = SEC_OID_SHA1;
|
|
||||||
*signalg = SEC_OID_ANSIX9_DSA_SIGNATURE;
|
|
||||||
*keyType = dsaKey;
|
|
||||||
return SECSuccess;
|
|
||||||
case SEC_OID_MISSI_DSS:
|
|
||||||
case SEC_OID_MISSI_KEA_DSS:
|
|
||||||
case SEC_OID_MISSI_KEA_DSS_OLD:
|
|
||||||
case SEC_OID_MISSI_DSS_OLD:
|
|
||||||
*hashalg = SEC_OID_SHA1;
|
|
||||||
*signalg = SEC_OID_MISSI_DSS; /* XXX Is there a better algid? */
|
|
||||||
*keyType = fortezzaKey;
|
|
||||||
return SECSuccess;
|
|
||||||
/* we don't implement MD4 hashes */
|
|
||||||
case SEC_OID_PKCS1_MD4_WITH_RSA_ENCRYPTION:
|
|
||||||
default:
|
|
||||||
return SECFailure;
|
|
||||||
}
|
|
||||||
PR_ASSERT(PR_FALSE); /* shouldn't get here */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* algid: The composite signature algorithm, for example
|
|
||||||
* SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION.
|
|
||||||
* Returns: a new VFYContext2, or NULL if an error occurred.
|
|
||||||
*/
|
|
||||||
VFYContext2 *
|
|
||||||
VFY_CreateContext2(SECKEYPublicKey *key, SECOidTag algid)
|
|
||||||
{
|
|
||||||
VFYContext2 *cx=NULL;
|
|
||||||
SECOidTag hashAlg;
|
|
||||||
SECOidTag sigAlg;
|
|
||||||
KeyType keyType;
|
|
||||||
|
|
||||||
PR_ASSERT(key!=NULL);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* validate key type and hash algorithm
|
|
||||||
*/
|
|
||||||
if( dissectSigAlg(algid, &hashAlg, &sigAlg, &keyType) != SECSuccess) {
|
|
||||||
PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
|
|
||||||
goto loser;
|
|
||||||
}
|
|
||||||
if( keyType != key->keyType ) {
|
|
||||||
/* key type of algorithm is not the type of the key that
|
|
||||||
* was passed in */
|
|
||||||
PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
|
|
||||||
goto loser;
|
|
||||||
}
|
|
||||||
switch(hashAlg) {
|
|
||||||
case SEC_OID_MD2:
|
|
||||||
case SEC_OID_MD5:
|
|
||||||
case SEC_OID_SHA1:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
|
|
||||||
goto loser;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Create the context
|
|
||||||
*/
|
|
||||||
cx = (VFYContext2*) PORT_ZAlloc(sizeof(VFYContext2));
|
|
||||||
if (cx == NULL) {
|
|
||||||
PORT_SetError(SEC_ERROR_NO_MEMORY);
|
|
||||||
goto loser;
|
|
||||||
}
|
|
||||||
cx->compositeAlg = algid;
|
|
||||||
cx->alg = hashAlg;
|
|
||||||
switch(keyType) {
|
|
||||||
case rsaKey:
|
|
||||||
cx->type = VFY_RSA;
|
|
||||||
break;
|
|
||||||
case dsaKey:
|
|
||||||
case fortezzaKey:
|
|
||||||
cx->type = VFY_DSA;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
|
|
||||||
goto loser;
|
|
||||||
}
|
|
||||||
cx->key = SECKEY_CopyPublicKey(key);
|
|
||||||
PR_ASSERT(cx->hashcx == NULL);
|
|
||||||
PR_ASSERT(cx->hashobj == NULL);
|
|
||||||
|
|
||||||
return cx;
|
|
||||||
|
|
||||||
loser:
|
|
||||||
if(cx) {
|
|
||||||
VFY_DestroyContext2(cx, PR_TRUE);
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
VFY_DestroyContext2(VFYContext2 *cx, PRBool freeit)
|
|
||||||
{
|
|
||||||
if (cx) {
|
|
||||||
if (cx->hashcx != NULL) {
|
|
||||||
(*cx->hashobj->destroy)(cx->hashcx, PR_TRUE);
|
|
||||||
cx->hashcx = NULL;
|
|
||||||
}
|
|
||||||
if (cx->key) {
|
|
||||||
SECKEY_DestroyPublicKey(cx->key);
|
|
||||||
}
|
|
||||||
if (freeit) {
|
|
||||||
PORT_ZFree(cx, sizeof(VFYContext2));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SECStatus
|
|
||||||
VFY_Begin2(VFYContext2 *cx)
|
|
||||||
{
|
|
||||||
if (cx->hashcx != NULL) {
|
|
||||||
(*cx->hashobj->destroy)(cx->hashcx, PR_TRUE);
|
|
||||||
cx->hashcx = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (cx->alg) {
|
|
||||||
case SEC_OID_MD2:
|
|
||||||
cx->hashobj = &SECHashObjects[HASH_AlgMD2];
|
|
||||||
break;
|
|
||||||
case SEC_OID_MD5:
|
|
||||||
cx->hashobj = &SECHashObjects[HASH_AlgMD5];
|
|
||||||
break;
|
|
||||||
case SEC_OID_SHA1:
|
|
||||||
cx->hashobj = &SECHashObjects[HASH_AlgSHA1];
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
PORT_SetError(SEC_ERROR_INVALID_ALGORITHM);
|
|
||||||
return SECFailure;
|
|
||||||
}
|
|
||||||
|
|
||||||
cx->hashcx = (*cx->hashobj->create)();
|
|
||||||
if (cx->hashcx == NULL)
|
|
||||||
return SECFailure;
|
|
||||||
|
|
||||||
(*cx->hashobj->begin)(cx->hashcx);
|
|
||||||
return SECSuccess;
|
|
||||||
}
|
|
||||||
|
|
||||||
SECStatus
|
|
||||||
VFY_Update2(VFYContext2 *cx, unsigned char *input, unsigned inputLen)
|
|
||||||
{
|
|
||||||
if (cx->hashcx == NULL) {
|
|
||||||
PORT_SetError(SEC_ERROR_INVALID_ARGS);
|
|
||||||
return SECFailure;
|
|
||||||
}
|
|
||||||
(*cx->hashobj->update)(cx->hashcx, input, inputLen);
|
|
||||||
return SECSuccess;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
SECStatus
|
|
||||||
VFY_End2(VFYContext2 *cx, SECItem *sig, void *wincx)
|
|
||||||
{
|
|
||||||
unsigned char final[32];
|
|
||||||
unsigned part;
|
|
||||||
int hashAlg;
|
|
||||||
SECItem hash, mysig;
|
|
||||||
SECItem *dsasig = NULL;
|
|
||||||
unsigned char digest[DSA_SIGNATURE_LEN];
|
|
||||||
SECStatus status = SECFailure;
|
|
||||||
|
|
||||||
if (cx->hashcx == NULL) {
|
|
||||||
PORT_SetError(SEC_ERROR_INVALID_ARGS);
|
|
||||||
goto finish;
|
|
||||||
}
|
|
||||||
(*cx->hashobj->end)(cx->hashcx, final, &part, sizeof(final));
|
|
||||||
switch (cx->type) {
|
|
||||||
case VFY_DSA:
|
|
||||||
/* if this is a DER encoded signature, decode it first */
|
|
||||||
if ((cx->compositeAlg==SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST) ||
|
|
||||||
(cx->compositeAlg==SEC_OID_BOGUS_DSA_SIGNATURE_WITH_SHA1_DIGEST) ||
|
|
||||||
(cx->compositeAlg==SEC_OID_ANSIX9_DSA_SIGNATURE)) {
|
|
||||||
dsasig = DSAU_DecodeDerSig(sig);
|
|
||||||
if ((dsasig == NULL) || (dsasig->len != DSA_SIGNATURE_LEN)) {
|
|
||||||
PORT_SetError(SEC_ERROR_BAD_SIGNATURE);
|
|
||||||
goto finish;
|
|
||||||
}
|
|
||||||
PORT_Memcpy(&digest[0], dsasig->data, dsasig->len);
|
|
||||||
} else {
|
|
||||||
if (sig->len != DSA_SIGNATURE_LEN) {
|
|
||||||
PORT_SetError(SEC_ERROR_BAD_SIGNATURE);
|
|
||||||
goto finish;
|
|
||||||
}
|
|
||||||
PORT_Memcpy(&digest[0], sig->data, sig->len);
|
|
||||||
}
|
|
||||||
mysig.data = digest;
|
|
||||||
mysig.len = DSA_SIGNATURE_LEN; /* magic size of dsa signature */
|
|
||||||
hash.data = final;
|
|
||||||
hash.len = part;
|
|
||||||
if (PK11_Verify(cx->key,&mysig,&hash,wincx) != SECSuccess) {
|
|
||||||
PORT_SetError(SEC_ERROR_BAD_SIGNATURE);
|
|
||||||
goto finish;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case VFY_RSA:
|
|
||||||
if( DecryptSigBlock(&hashAlg, &digest[0], cx->key, sig, wincx)
|
|
||||||
!= SECSuccess)
|
|
||||||
{
|
|
||||||
PORT_SetError(SEC_ERROR_BAD_SIGNATURE);
|
|
||||||
goto finish;
|
|
||||||
}
|
|
||||||
if (PORT_Memcmp(final, digest, part)) {
|
|
||||||
PORT_SetError(SEC_ERROR_BAD_SIGNATURE);
|
|
||||||
goto finish;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
PR_ASSERT(PR_FALSE); /* shouldn't happen */
|
|
||||||
PORT_SetError(SEC_ERROR_BAD_SIGNATURE);
|
|
||||||
goto finish;
|
|
||||||
}
|
|
||||||
status = SECSuccess;
|
|
||||||
|
|
||||||
finish:
|
|
||||||
if (dsasig != NULL) {
|
|
||||||
SECITEM_FreeItem(dsasig, PR_TRUE);
|
|
||||||
}
|
|
||||||
return status;
|
|
||||||
}
|
|
|
@ -32,7 +32,6 @@
|
||||||
*/
|
*/
|
||||||
#include "_jni/org_mozilla_jss_CryptoManager.h"
|
#include "_jni/org_mozilla_jss_CryptoManager.h"
|
||||||
|
|
||||||
#include <svrplcy.h>
|
|
||||||
#include <secitem.h>
|
#include <secitem.h>
|
||||||
#include <mcom_db.h>
|
#include <mcom_db.h>
|
||||||
#include <secmod.h>
|
#include <secmod.h>
|
||||||
|
@ -44,6 +43,8 @@
|
||||||
#include <secrng.h>
|
#include <secrng.h>
|
||||||
#include <nspr.h>
|
#include <nspr.h>
|
||||||
#include <plstr.h>
|
#include <plstr.h>
|
||||||
|
#include <cdbhdl.h>
|
||||||
|
#include <pkcs11.h>
|
||||||
|
|
||||||
#include <jssutil.h>
|
#include <jssutil.h>
|
||||||
#include <java_ids.h>
|
#include <java_ids.h>
|
||||||
|
@ -51,7 +52,6 @@
|
||||||
|
|
||||||
#include "jssinit.h"
|
#include "jssinit.h"
|
||||||
#include "pk11util.h"
|
#include "pk11util.h"
|
||||||
#include "Policy.h"
|
|
||||||
|
|
||||||
#if defined(AIX) || defined(HPUX) || defined(LINUX)
|
#if defined(AIX) || defined(HPUX) || defined(LINUX)
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
@ -78,26 +78,6 @@ makePWCBInfo(JNIEnv *env, PK11SlotInfo *slot);
|
||||||
static char*
|
static char*
|
||||||
getPWFromCallback(PK11SlotInfo *slot, PRBool retry, void *arg);
|
getPWFromCallback(PK11SlotInfo *slot, PRBool retry, void *arg);
|
||||||
|
|
||||||
static jint
|
|
||||||
getPolicyTypeIndex( SVRPLCYPolicyType thisPolicy );
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
**
|
|
||||||
** Policy Type indices. This must be kept in sync with the policy
|
|
||||||
** type indices in the CryptoManager class.
|
|
||||||
**/
|
|
||||||
|
|
||||||
#define NUM_POLICIES 4
|
|
||||||
|
|
||||||
SVRPLCYPolicyType JSS_PolicyTable[NUM_POLICIES] = {
|
|
||||||
/* 0 */ { SVRPLCYNull },
|
|
||||||
/* 1 */ { SVRPLCYDomestic },
|
|
||||||
/* 2 */ { SVRPLCYExport },
|
|
||||||
/* 3 */ { SVRPLCYFrance }
|
|
||||||
|
|
||||||
/* REMEMBER TO UPDATE NUM_POLICIES!!! */
|
|
||||||
};
|
|
||||||
|
|
||||||
/*************************************************************
|
/*************************************************************
|
||||||
* AIX, HP, and Linux signal handling madness
|
* AIX, HP, and Linux signal handling madness
|
||||||
*
|
*
|
||||||
|
@ -293,30 +273,7 @@ simpleInitialize(JNIEnv *env)
|
||||||
PR_SetConcurrency( concurrency );
|
PR_SetConcurrency( concurrency );
|
||||||
|
|
||||||
RNG_RNGInit();
|
RNG_RNGInit();
|
||||||
|
RNG_SystemInfoForRNG();
|
||||||
/* establish a Utility policy */
|
|
||||||
if( SVRPLCY_InstallUtilityPolicy() != PR_SUCCESS ) {
|
|
||||||
JSS_throwMsg(env, SECURITY_EXCEPTION,
|
|
||||||
"Failed to install utility policy");
|
|
||||||
return PR_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* establish an SSL policy */
|
|
||||||
SVRPLCY_InstallSSLPolicy();
|
|
||||||
|
|
||||||
/* establish a JSS policy */
|
|
||||||
if( SVRPLCY_InstallJSSPolicy() != PR_SUCCESS ) {
|
|
||||||
JSS_throwMsg(env, SECURITY_EXCEPTION,
|
|
||||||
"Failed to install JSS policy");
|
|
||||||
return PR_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* establish JSS max key sizes */
|
|
||||||
if( JSS_InstallMaxKeySizesAllowed() != PR_SUCCESS ) {
|
|
||||||
JSS_throwMsg(env, SECURITY_EXCEPTION,
|
|
||||||
"Failed to install max JSS key sizes");
|
|
||||||
return PR_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
initialized = PR_TRUE;
|
initialized = PR_TRUE;
|
||||||
|
|
||||||
|
@ -754,7 +711,7 @@ getPWFromCallback(PK11SlotInfo *slot, PRBool retry, void *arg)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get the JNI environment */
|
/* Get the JNI environment */
|
||||||
if( (*javaVM)->AttachCurrentThread(javaVM, &env, NULL) != 0) {
|
if( (*javaVM)->AttachCurrentThread(javaVM, (void**)&env, NULL) != 0) {
|
||||||
PR_ASSERT(PR_FALSE);
|
PR_ASSERT(PR_FALSE);
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
|
@ -1073,67 +1030,6 @@ Java_org_mozilla_jss_CryptoManager_FIPSEnabled(JNIEnv *env, jobject this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* CryptoManager.isDomestic
|
|
||||||
*
|
|
||||||
* Returns true if this build of jssjava is "domestic", false otherwise.
|
|
||||||
*/
|
|
||||||
JNIEXPORT jboolean JNICALL
|
|
||||||
Java_org_mozilla_jss_CryptoManager_isDomestic(JNIEnv *env, jobject this)
|
|
||||||
{
|
|
||||||
/* "C" data members */
|
|
||||||
PRBool result;
|
|
||||||
|
|
||||||
result = JSS_isDomestic();
|
|
||||||
|
|
||||||
/* Return a java boolean */
|
|
||||||
if( result != PR_TRUE ) {
|
|
||||||
return JNI_FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return JNI_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* CryptoManager.getPolicyTypeIndex
|
|
||||||
*
|
|
||||||
* Input export control policy from embedded utility policy table.
|
|
||||||
*
|
|
||||||
* Returns the index where the policy is stored in the JSS_PolicyTable[].
|
|
||||||
*/
|
|
||||||
static jint
|
|
||||||
getPolicyTypeIndex( SVRPLCYPolicyType thisPolicy )
|
|
||||||
{
|
|
||||||
jint i;
|
|
||||||
|
|
||||||
for( i = 0; i < NUM_POLICIES; i++ ) {
|
|
||||||
if( thisPolicy == JSS_PolicyTable[i] ) {
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
return( -1 );
|
|
||||||
}
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* CryptoManager.getExportControlPolicyType
|
|
||||||
*
|
|
||||||
* Returns an integer related to the export control policy type
|
|
||||||
*/
|
|
||||||
JNIEXPORT jint JNICALL
|
|
||||||
Java_org_mozilla_jss_CryptoManager_getExportControlPolicyType( JNIEnv *env,
|
|
||||||
jobject this )
|
|
||||||
{
|
|
||||||
/* "C" data members */
|
|
||||||
SVRPLCYPolicyType policy;
|
|
||||||
|
|
||||||
/* Get the export control policy from the embedded utility policy table */
|
|
||||||
policy = JSS_getExportControlPolicyType();
|
|
||||||
|
|
||||||
/* Return a java int */
|
|
||||||
return( getPolicyTypeIndex( policy ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* DatabaseCloser.closeDatabases
|
* DatabaseCloser.closeDatabases
|
||||||
*
|
*
|
||||||
|
|
|
@ -51,7 +51,7 @@ import org.mozilla.jss.CRLImportException;
|
||||||
* Initialization is done with static methods, and must be done before
|
* Initialization is done with static methods, and must be done before
|
||||||
* an instance can be created. All other operations are done with instance
|
* an instance can be created. All other operations are done with instance
|
||||||
* methods.
|
* methods.
|
||||||
* @version $Revision: 1.2 $ $Date: 2000-12-19 06:18:01 $
|
* @version $Revision: 1.3 $ $Date: 2001-01-16 23:49:19 $
|
||||||
*/
|
*/
|
||||||
public final class CryptoManager implements TokenSupplier
|
public final class CryptoManager implements TokenSupplier
|
||||||
{
|
{
|
||||||
|
@ -174,7 +174,7 @@ public final class CryptoManager implements TokenSupplier
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
/**
|
/**
|
||||||
* Returns the Manufacturer ID of the internal PKCS #11 module.
|
* Returns the Manufacturer ID of the internal PKCS #11 module.
|
||||||
* <p>The default is <code>"Netscape Communications Corp "</code>.
|
* <p>The default is <code>"mozilla.org "</code>.
|
||||||
*/
|
*/
|
||||||
public String getManufacturerID() { return manufacturerID; }
|
public String getManufacturerID() { return manufacturerID; }
|
||||||
|
|
||||||
|
@ -192,7 +192,7 @@ public final class CryptoManager implements TokenSupplier
|
||||||
manufacturerID = s;
|
manufacturerID = s;
|
||||||
}
|
}
|
||||||
private String manufacturerID =
|
private String manufacturerID =
|
||||||
"Netscape Communications Corp ";
|
"mozilla.org ";
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Library Description
|
// Library Description
|
||||||
|
@ -282,7 +282,7 @@ public final class CryptoManager implements TokenSupplier
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
/**
|
/**
|
||||||
* Returns the description of the internal PKCS #11 slot.
|
* Returns the description of the internal PKCS #11 slot.
|
||||||
* <p>The default is <code>"Netscape Internal Cryptographic Services "</code>.
|
* <p>The default is <code>"NSS Internal Cryptographic Services "</code>.
|
||||||
*/
|
*/
|
||||||
public String getInternalSlotDescription() {
|
public String getInternalSlotDescription() {
|
||||||
return internalSlotDescription;
|
return internalSlotDescription;
|
||||||
|
@ -304,14 +304,14 @@ public final class CryptoManager implements TokenSupplier
|
||||||
internalSlotDescription = s;
|
internalSlotDescription = s;
|
||||||
}
|
}
|
||||||
private String internalSlotDescription =
|
private String internalSlotDescription =
|
||||||
"Netscape Internal Cryptographic Services ";
|
"NSS Internal Cryptographic Services ";
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Internal Key Storage Slot Description
|
// Internal Key Storage Slot Description
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
/**
|
/**
|
||||||
* Returns the description of the internal PKCS #11 key storage slot.
|
* Returns the description of the internal PKCS #11 key storage slot.
|
||||||
* <p>The default is <code>"Netscape Internal Private Key and Certificate Storage "</code>.
|
* <p>The default is <code>"NSS Internal Private Key and Certificate Storage "</code>.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
public String getInternalKeyStorageSlotDescription() {
|
public String getInternalKeyStorageSlotDescription() {
|
||||||
|
@ -334,14 +334,14 @@ public final class CryptoManager implements TokenSupplier
|
||||||
internalKeyStorageSlotDescription = s;
|
internalKeyStorageSlotDescription = s;
|
||||||
}
|
}
|
||||||
private String internalKeyStorageSlotDescription =
|
private String internalKeyStorageSlotDescription =
|
||||||
"Netscape Internal Private Key and Certificate Storage ";
|
"NSS Internal Private Key and Certificate Storage ";
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// FIPS Slot Description
|
// FIPS Slot Description
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
/**
|
/**
|
||||||
* Returns the description of the internal PKCS #11 FIPS slot.
|
* Returns the description of the internal PKCS #11 FIPS slot.
|
||||||
* <p>The default is <code>"Netscape Internal FIPS-140-1 Cryptographic Services "</code>.
|
* <p>The default is <code>"NSS Internal FIPS-140-1 Cryptographic Services "</code>.
|
||||||
*/
|
*/
|
||||||
public String getFIPSSlotDescription() {
|
public String getFIPSSlotDescription() {
|
||||||
return FIPSSlotDescription;
|
return FIPSSlotDescription;
|
||||||
|
@ -363,7 +363,7 @@ public final class CryptoManager implements TokenSupplier
|
||||||
FIPSSlotDescription = s;
|
FIPSSlotDescription = s;
|
||||||
}
|
}
|
||||||
private String FIPSSlotDescription =
|
private String FIPSSlotDescription =
|
||||||
"Netscape Internal FIPS-140-1 Cryptographic Services ";
|
"NSS Internal FIPS-140-1 Cryptographic Services ";
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// FIPS Key Storage Slot Description
|
// FIPS Key Storage Slot Description
|
||||||
|
@ -371,7 +371,7 @@ public final class CryptoManager implements TokenSupplier
|
||||||
/**
|
/**
|
||||||
* Returns the description of the internal PKCS #11 FIPS
|
* Returns the description of the internal PKCS #11 FIPS
|
||||||
* Key Storage slot.
|
* Key Storage slot.
|
||||||
* <p>The default is <code>"Netscape Internal FIPS-140-1 Private Key and Certificate Storage "</code>.
|
* <p>The default is <code>"NSS Internal FIPS-140-1 Private Key and Certificate Storage "</code>.
|
||||||
*/
|
*/
|
||||||
public String getFIPSKeyStorageSlotDescription() {
|
public String getFIPSKeyStorageSlotDescription() {
|
||||||
return FIPSKeyStorageSlotDescription;
|
return FIPSKeyStorageSlotDescription;
|
||||||
|
@ -393,7 +393,7 @@ public final class CryptoManager implements TokenSupplier
|
||||||
FIPSKeyStorageSlotDescription = s;
|
FIPSKeyStorageSlotDescription = s;
|
||||||
}
|
}
|
||||||
private String FIPSKeyStorageSlotDescription =
|
private String FIPSKeyStorageSlotDescription =
|
||||||
"Netscape Internal FIPS-140-1 Private Key and Certificate Storage ";
|
"NSS Internal FIPS-140-1 Private Key and Certificate Storage ";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To have NSS check the OCSP responder for when verifying
|
* To have NSS check the OCSP responder for when verifying
|
||||||
|
@ -434,7 +434,7 @@ public final class CryptoManager implements TokenSupplier
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves the internal cryptographic services token. This is the
|
* Retrieves the internal cryptographic services token. This is the
|
||||||
* token built into the Netscape Security Library that performs bulk
|
* token built into NSS that performs bulk
|
||||||
* cryptographic operations.
|
* cryptographic operations.
|
||||||
* <p>In FIPS mode, the internal cryptographic services token is the
|
* <p>In FIPS mode, the internal cryptographic services token is the
|
||||||
* same as the internal key storage token.
|
* same as the internal key storage token.
|
||||||
|
@ -447,7 +447,7 @@ public final class CryptoManager implements TokenSupplier
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves the internal key storage token. This is the token
|
* Retrieves the internal key storage token. This is the token
|
||||||
* provided by the Netscape Security Library to store private keys.
|
* provided by NSS to store private keys.
|
||||||
* The keys stored in this token are stored in an encrypted key database.
|
* The keys stored in this token are stored in an encrypted key database.
|
||||||
* <p>In FIPS mode, the internal key storage token is the same as
|
* <p>In FIPS mode, the internal key storage token is the same as
|
||||||
* the internal cryptographic services token.
|
* the internal cryptographic services token.
|
||||||
|
@ -527,8 +527,8 @@ public final class CryptoManager implements TokenSupplier
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves all tokens except those built into the Netscape Security
|
* Retrieves all tokens except those built into NSS.
|
||||||
* Library. This excludes the internal token and the internal
|
* This excludes the internal token and the internal
|
||||||
* key storage token (which are one and the same in FIPS mode).
|
* key storage token (which are one and the same in FIPS mode).
|
||||||
*
|
*
|
||||||
* @return All tokens accessible from JSS, except for the built-in
|
* @return All tokens accessible from JSS, except for the built-in
|
||||||
|
@ -678,24 +678,6 @@ public final class CryptoManager implements TokenSupplier
|
||||||
*/
|
*/
|
||||||
public synchronized native boolean FIPSEnabled();
|
public synchronized native boolean FIPSEnabled();
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////
|
|
||||||
// Export Control Policy management
|
|
||||||
///////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determines whether this build of jssjava is "domestic".
|
|
||||||
*
|
|
||||||
* @return true if jssjava is "domestic", false otherwise.
|
|
||||||
*/
|
|
||||||
public synchronized native boolean isDomestic();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determines what policy this build of jssjava contains.
|
|
||||||
*
|
|
||||||
* @return the policy type of this jssjava executable.
|
|
||||||
*/
|
|
||||||
public synchronized native int getExportControlPolicyType();
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////
|
||||||
// Password Callback management
|
// Password Callback management
|
||||||
///////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////
|
||||||
|
@ -838,7 +820,7 @@ public final class CryptoManager implements TokenSupplier
|
||||||
1);
|
1);
|
||||||
if(position==-11) {
|
if(position==-11) {
|
||||||
Debug.trace(Debug.ERROR,
|
Debug.trace(Debug.ERROR,
|
||||||
"Unable to install Netscape provider");
|
"Unable to install default provider");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1244,8 +1226,7 @@ public final class CryptoManager implements TokenSupplier
|
||||||
/**
|
/**
|
||||||
* Retrieves a FIPS-140-1 validated random number generator.
|
* Retrieves a FIPS-140-1 validated random number generator.
|
||||||
*
|
*
|
||||||
* @return A JSS SecureRandom implemented with the FIPS-validated
|
* @return A JSS SecureRandom implemented with FIPS-validated NSS.
|
||||||
* Netscape security library.
|
|
||||||
*/
|
*/
|
||||||
public org.mozilla.jss.crypto.JSSSecureRandom
|
public org.mozilla.jss.crypto.JSSSecureRandom
|
||||||
createPseudoRandomNumberGenerator()
|
createPseudoRandomNumberGenerator()
|
||||||
|
@ -1256,8 +1237,7 @@ public final class CryptoManager implements TokenSupplier
|
||||||
/**
|
/**
|
||||||
* Retrieves a FIPS-140-1 validated random number generator.
|
* Retrieves a FIPS-140-1 validated random number generator.
|
||||||
*
|
*
|
||||||
* @return A JSS SecureRandom implemented with the FIPS-validated
|
* @return A JSS SecureRandom implemented with FIPS-validated NSS.
|
||||||
* Netscape security library.
|
|
||||||
*/
|
*/
|
||||||
public org.mozilla.jss.crypto.JSSSecureRandom
|
public org.mozilla.jss.crypto.JSSSecureRandom
|
||||||
getSecureRNG() {
|
getSecureRNG() {
|
||||||
|
|
|
@ -139,14 +139,14 @@ public final class NSSInit {
|
||||||
keyDBName,
|
keyDBName,
|
||||||
certDBName,
|
certDBName,
|
||||||
true, // readOnly
|
true, // readOnly
|
||||||
"Netscape Communications Corp ",
|
"mozilla.org ",
|
||||||
"Internal Crypto Services ",
|
"Internal Crypto Services ",
|
||||||
"Internal Crypto Services Token ",
|
"Internal Crypto Services Token ",
|
||||||
"Internal Key Storage Token ",
|
"Internal Key Storage Token ",
|
||||||
"Netscape Internal Cryptographic Services ",
|
"NSS Internal Cryptographic Services ",
|
||||||
"Netscape Internal Private Key and Certificate Storage ",
|
"NSS Internal Private Key and Certificate Storage ",
|
||||||
"Netscape Internal FIPS-140-1 Cryptographic Services ",
|
"NSS Internal FIPS-140-1 Cryptographic Services ",
|
||||||
"Netscape Internal FIPS-140-1 Private Key and Certificate Storage ");
|
"NSS Internal FIPS-140-1 Private Key and Certificate Storage ");
|
||||||
|
|
||||||
setPasswordCallback( new ConsolePasswordCallback() );
|
setPasswordCallback( new ConsolePasswordCallback() );
|
||||||
mNSSInitialized = true;
|
mNSSInitialized = true;
|
||||||
|
|
|
@ -902,7 +902,6 @@ Java_org_mozilla_jss_CryptoManager_importCertPackageNative
|
||||||
jobject leafObject=NULL;
|
jobject leafObject=NULL;
|
||||||
CERTIssuerAndSN *issuerAndSN;
|
CERTIssuerAndSN *issuerAndSN;
|
||||||
PLArenaPool *arena=NULL;
|
PLArenaPool *arena=NULL;
|
||||||
int root_cert = -1;
|
|
||||||
|
|
||||||
/***************************************************
|
/***************************************************
|
||||||
* Validate arguments
|
* Validate arguments
|
||||||
|
@ -1106,7 +1105,6 @@ Java_org_mozilla_jss_CryptoManager_importCertPackageNative
|
||||||
* Now add the rest of the certs (which should all be CAs)
|
* Now add the rest of the certs (which should all be CAs)
|
||||||
***************************************************/
|
***************************************************/
|
||||||
if( numCerts-userCertFound>= 1 ) {
|
if( numCerts-userCertFound>= 1 ) {
|
||||||
SECCertUsage usage;
|
|
||||||
|
|
||||||
if (certi == 0) {
|
if (certi == 0) {
|
||||||
status = ImportCAChain(derCerts+userCertFound,
|
status = ImportCAChain(derCerts+userCertFound,
|
||||||
|
@ -1783,8 +1781,6 @@ Java_org_mozilla_jss_CryptoManager_importCRLNative
|
||||||
|
|
||||||
{
|
{
|
||||||
CERTCertDBHandle *certdb = CERT_GetDefaultCertDB();
|
CERTCertDBHandle *certdb = CERT_GetDefaultCertDB();
|
||||||
jbyte *packageBytes=NULL;
|
|
||||||
jsize packageLen;
|
|
||||||
CERTSignedCrl *crl = NULL;
|
CERTSignedCrl *crl = NULL;
|
||||||
SECItem *packageItem = NULL;
|
SECItem *packageItem = NULL;
|
||||||
int status = SECFailure;
|
int status = SECFailure;
|
||||||
|
|
|
@ -30,43 +30,3 @@
|
||||||
# may use your version of this file under either the MPL or the
|
# may use your version of this file under either the MPL or the
|
||||||
# GPL.
|
# GPL.
|
||||||
#
|
#
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Set the LD_LIBS value to encompass all static JSS, security, and #
|
|
||||||
# dbm libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
LD_LIBS += $(LIBSVRPLCY) \
|
|
||||||
$(LIBJSSPOLICY) \
|
|
||||||
$(LIBJSSPKCS11) \
|
|
||||||
$(LIBJSSCRYPTO) \
|
|
||||||
$(LIBJSSUTIL) \
|
|
||||||
$(LIBJSSHCLHACKS) \
|
|
||||||
$(LIBPKCS7) \
|
|
||||||
$(LIBSSL) \
|
|
||||||
$(LIBSECMOD) \
|
|
||||||
$(LIBCERT) \
|
|
||||||
$(LIBKEY) \
|
|
||||||
$(LIBCRYPTO) \
|
|
||||||
$(LIBHASH) \
|
|
||||||
$(LIBSECUTIL) \
|
|
||||||
$(LIBDBM) \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Append additional LD_LIBS value to encompass all dynamic NSPR 2.0, #
|
|
||||||
# java, and system libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
ifeq ($(OS_ARCH), WINNT)
|
|
||||||
LD_LIBS += $(JAVA_LIBS) $(DLLPLDS) $(DLLPLC) $(DLLPR) $(DLLSYSTEM)
|
|
||||||
else
|
|
||||||
LD_LIBS += $(JAVA_LIBS) -L$(SOURCE_LIB_DIR) -lplds3 -lplc3 -lnspr3 $(DLLSYSTEM)
|
|
||||||
endif
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Turn off any Export Control Policy for these libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
POLICY =
|
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,6 @@
|
||||||
#include <jni.h>
|
#include <jni.h>
|
||||||
#include <nspr.h>
|
#include <nspr.h>
|
||||||
*/
|
*/
|
||||||
#include "svrplcy.h"
|
|
||||||
|
|
||||||
#ifndef JSS_INIT_H
|
#ifndef JSS_INIT_H
|
||||||
#define JSS_INIT_H
|
#define JSS_INIT_H
|
||||||
|
@ -75,21 +74,4 @@ JSS_completeInitialize(JNIEnv *env,
|
||||||
PR_EXTERN( void )
|
PR_EXTERN( void )
|
||||||
JSS_setPasswordCallback(JNIEnv *env, jobject callback);
|
JSS_setPasswordCallback(JNIEnv *env, jobject callback);
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* JSS_isDomestic
|
|
||||||
*
|
|
||||||
* Returns true if this build of jssjava is "domestic", false otherwise.
|
|
||||||
*/
|
|
||||||
PR_EXTERN( PRBool )
|
|
||||||
JSS_isDomestic( void );
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* JSS_getExportControlPolicyType
|
|
||||||
*
|
|
||||||
* Returns the export control policy type
|
|
||||||
*/
|
|
||||||
PR_EXTERN( SVRPLCYPolicyType )
|
|
||||||
JSS_getExportControlPolicyType( void );
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#
|
#
|
||||||
CORE_DEPTH = ../../../../..
|
CORE_DEPTH = ../../../../..
|
||||||
|
|
||||||
MODULE = ninja
|
MODULE = jss
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
NS_USE_JDK = 1
|
||||||
|
|
||||||
|
|
|
@ -313,7 +313,7 @@ public class CertificationRequest implements ASN1Value {
|
||||||
|
|
||||||
// make new Name
|
// make new Name
|
||||||
Name name = new Name();
|
Name name = new Name();
|
||||||
name.addCommonName("asldkj\u00dsdlkfj\u00e");
|
name.addCommonName("asldkj");
|
||||||
name.addCountryName("US");
|
name.addCountryName("US");
|
||||||
name.addOrganizationName("Some Corp");
|
name.addOrganizationName("Some Corp");
|
||||||
name.addOrganizationalUnitName("Some Org Unit");
|
name.addOrganizationalUnitName("Some Org Unit");
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../..
|
CORE_DEPTH = ../../../../..
|
||||||
|
|
||||||
MODULE = ninja
|
MODULE = jss
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
NS_USE_JDK = 1
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,8 @@
|
||||||
#include <java_ids.h>
|
#include <java_ids.h>
|
||||||
#include <jss_exceptions.h>
|
#include <jss_exceptions.h>
|
||||||
#include <Algorithm.h>
|
#include <Algorithm.h>
|
||||||
|
#include <pk11func.h>
|
||||||
|
#include <secoid.h>
|
||||||
|
|
||||||
#define HCLHACK
|
#define HCLHACK
|
||||||
#ifdef HCLHACK
|
#ifdef HCLHACK
|
||||||
|
|
|
@ -35,9 +35,9 @@
|
||||||
|
|
||||||
#include <pk11func.h>
|
#include <pk11func.h>
|
||||||
#include <nspr.h>
|
#include <nspr.h>
|
||||||
#include <pqggen.h>
|
|
||||||
#include <key.h>
|
#include <key.h>
|
||||||
#include <secitem.h>
|
#include <secitem.h>
|
||||||
|
#include <pqgutil.h>
|
||||||
|
|
||||||
#include <jssutil.h>
|
#include <jssutil.h>
|
||||||
#include <pk11util.h>
|
#include <pk11util.h>
|
||||||
|
|
|
@ -39,7 +39,6 @@
|
||||||
#include <pk11func.h>
|
#include <pk11func.h>
|
||||||
#include <secitem.h>
|
#include <secitem.h>
|
||||||
#include <keyt.h>
|
#include <keyt.h>
|
||||||
#include <rsa.h>
|
|
||||||
|
|
||||||
/* JSS includes */
|
/* JSS includes */
|
||||||
#include <java_ids.h>
|
#include <java_ids.h>
|
||||||
|
|
|
@ -39,8 +39,9 @@
|
||||||
#include "_jni/org_mozilla_jss_pkcs11_PK11Signature.h"
|
#include "_jni/org_mozilla_jss_pkcs11_PK11Signature.h"
|
||||||
#include "_jni/org_mozilla_jss_pkcs11_SigContextProxy.h"
|
#include "_jni/org_mozilla_jss_pkcs11_SigContextProxy.h"
|
||||||
#include <Algorithm.h>
|
#include <Algorithm.h>
|
||||||
#include <crypto.h>
|
|
||||||
#include <secerr.h>
|
#include <secerr.h>
|
||||||
|
#include <cryptoht.h>
|
||||||
|
#include <cryptohi.h>
|
||||||
|
|
||||||
#include <jssutil.h>
|
#include <jssutil.h>
|
||||||
#include <java_ids.h>
|
#include <java_ids.h>
|
||||||
|
|
|
@ -40,16 +40,16 @@
|
||||||
#include <nspr.h>
|
#include <nspr.h>
|
||||||
#include <key.h>
|
#include <key.h>
|
||||||
#include <secasn1.h>
|
#include <secasn1.h>
|
||||||
#include <crypto.h>
|
|
||||||
#include <base64.h>
|
#include <base64.h>
|
||||||
#include <cert.h>
|
#include <cert.h>
|
||||||
|
#include <cryptohi.h>
|
||||||
|
#include <pqgutil.h>
|
||||||
|
|
||||||
#include <jssutil.h>
|
#include <jssutil.h>
|
||||||
#include <jss_exceptions.h>
|
#include <jss_exceptions.h>
|
||||||
#include <jss_bigint.h>
|
#include <jss_bigint.h>
|
||||||
#include <Algorithm.h>
|
#include <Algorithm.h>
|
||||||
|
|
||||||
#include <pqggen.h>
|
|
||||||
#include <secitem.h>
|
#include <secitem.h>
|
||||||
#include "java_ids.h"
|
#include "java_ids.h"
|
||||||
|
|
||||||
|
@ -958,7 +958,6 @@ JNIEXPORT jstring JNICALL Java_org_mozilla_jss_pkcs11_PK11Token_generatePK10
|
||||||
unsigned char *b64request;
|
unsigned char *b64request;
|
||||||
SECItem p, q, g;
|
SECItem p, q, g;
|
||||||
PQGParams *dsaParams=NULL;
|
PQGParams *dsaParams=NULL;
|
||||||
jobject keyPair=NULL;
|
|
||||||
const char* c_keyType;
|
const char* c_keyType;
|
||||||
jboolean k_isCopy;
|
jboolean k_isCopy;
|
||||||
unsigned int ktype = 0;
|
unsigned int ktype = 0;
|
||||||
|
@ -1064,7 +1063,6 @@ GenerateCertRequest(JNIEnv *env,
|
||||||
|
|
||||||
SECKEYPrivateKey *privk = NULL;
|
SECKEYPrivateKey *privk = NULL;
|
||||||
SECKEYPublicKey *pubk = NULL;
|
SECKEYPublicKey *pubk = NULL;
|
||||||
int i = 0;
|
|
||||||
SECStatus rv;
|
SECStatus rv;
|
||||||
PRArenaPool *arena;
|
PRArenaPool *arena;
|
||||||
SECItem result_der, result;
|
SECItem result_der, result;
|
||||||
|
|
|
@ -30,40 +30,3 @@
|
||||||
# may use your version of this file under either the MPL or the
|
# may use your version of this file under either the MPL or the
|
||||||
# GPL.
|
# GPL.
|
||||||
#
|
#
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Set the LD_LIBS value to encompass all static JSS, security, and #
|
|
||||||
# dbm libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
LD_LIBS += $(LIBJSSCRYPTO) \
|
|
||||||
$(LIBJSSUTIL) \
|
|
||||||
$(LIBJSSPOLICY) \
|
|
||||||
$(LIBJSSHCLHACKS) \
|
|
||||||
$(LIBSECMOD) \
|
|
||||||
$(LIBCERT) \
|
|
||||||
$(LIBKEY) \
|
|
||||||
$(LIBCRYPTO) \
|
|
||||||
$(LIBHASH) \
|
|
||||||
$(LIBSECUTIL) \
|
|
||||||
$(LIBDBM) \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Append additional LD_LIBS value to encompass all dynamic NSPR 2.0, #
|
|
||||||
# java, and system libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
ifeq ($(OS_ARCH), WINNT)
|
|
||||||
LD_LIBS += $(DLLPLDS) $(DLLPLC) $(DLLPR) $(DLLSYSTEM)
|
|
||||||
else
|
|
||||||
LD_LIBS += -L$(SOURCE_LIB_DIR) -lplds3 -lplc3 -lnspr3 $(DLLSYSTEM)
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Turn off any Export Control Policy for these libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
POLICY =
|
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../..
|
CORE_DEPTH = ../../../../..
|
||||||
|
|
||||||
MODULE = ninja
|
MODULE = jss
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
NS_USE_JDK = 1
|
||||||
|
|
||||||
|
@ -45,7 +45,6 @@ PACKAGE = org/mozilla/jss/pkcs11
|
||||||
PRIVATE_EXPORTS = pk11util.h \
|
PRIVATE_EXPORTS = pk11util.h \
|
||||||
secmodi.h \
|
secmodi.h \
|
||||||
secmodti.h \
|
secmodti.h \
|
||||||
rsa.h \
|
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
JNI_GEN = \
|
JNI_GEN = \
|
||||||
|
|
|
@ -30,65 +30,3 @@
|
||||||
# may use your version of this file under either the MPL or the
|
# may use your version of this file under either the MPL or the
|
||||||
# GPL.
|
# GPL.
|
||||||
#
|
#
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Adjust specific variables for all platforms #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
ifndef BUILD_OPT
|
|
||||||
ifdef LIBRARY_NAME
|
|
||||||
ifeq ($(OS_ARCH), WINNT)
|
|
||||||
ifeq ($(OS_TARGET), WIN16)
|
|
||||||
SHARED_LIBRARY_G = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)16_g.dll
|
|
||||||
IMPORT_LIBRARY_G = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)16_g.lib
|
|
||||||
else
|
|
||||||
SHARED_LIBRARY_G = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32_g.dll
|
|
||||||
IMPORT_LIBRARY_G = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32_g.lib
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
|
|
||||||
SHARED_LIBRARY_G = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)_shr_g.a
|
|
||||||
else
|
|
||||||
SHARED_LIBRARY_G = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)_g.$(DLL_SUFFIX)
|
|
||||||
endif
|
|
||||||
ifdef HAVE_PURIFY
|
|
||||||
ifdef DSO_BACKEND
|
|
||||||
PURE_LIBRARY_G = $(OBJDIR)/purelib$(LIBRARY_NAME)$(LIBRARY_VERSION)_g.$(DLL_SUFFIX)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Set the LD_LIBS value to encompass all static JSS, security, and #
|
|
||||||
# dbm libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
LD_LIBS += $(LIBJSSPKCS11) \
|
|
||||||
$(LIBJSSHCLHACKS) \
|
|
||||||
$(LIBJSSCRYPTO) \
|
|
||||||
$(LIBJSSUTIL) \
|
|
||||||
$(LIBJSSPOLICY) \
|
|
||||||
$(LIBSECMOD) \
|
|
||||||
$(LIBPKCS12) \
|
|
||||||
$(LIBPKCS7) \
|
|
||||||
$(LIBCERT) \
|
|
||||||
$(LIBKEY) \
|
|
||||||
$(LIBCRYPTO) \
|
|
||||||
$(LIBHASH) \
|
|
||||||
$(LIBSECUTIL) \
|
|
||||||
$(LIBDBM) \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Append additional LD_LIBS value to encompass all dynamic NSPR 2.0, #
|
|
||||||
# java, and system libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
ifeq ($(OS_ARCH), WINNT)
|
|
||||||
LD_LIBS += $(DLLPLDS) $(DLLPLC) $(DLLPR) $(DLLSYSTEM)
|
|
||||||
else
|
|
||||||
LD_LIBS += -L$(SOURCE_LIB_DIR) -lplds3 -lplc3 -lnspr3 $(DLLSYSTEM)
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../..
|
CORE_DEPTH = ../../../../..
|
||||||
|
|
||||||
MODULE = ninja
|
MODULE = jss
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
NS_USE_JDK = 1
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../..
|
CORE_DEPTH = ../../../../..
|
||||||
|
|
||||||
MODULE = ninja
|
MODULE = jss
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
NS_USE_JDK = 1
|
||||||
|
|
||||||
|
|
|
@ -1,71 +0,0 @@
|
||||||
#
|
|
||||||
# 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 Services for Java.
|
|
||||||
#
|
|
||||||
# The Initial Developer of the Original Code is Netscape
|
|
||||||
# Communications Corporation. Portions created by Netscape are
|
|
||||||
# Copyright (C) 1998-2000 Netscape Communications Corporation. All
|
|
||||||
# Rights Reserved.
|
|
||||||
#
|
|
||||||
# Contributor(s):
|
|
||||||
#
|
|
||||||
# Alternatively, the contents of this file may be used under the
|
|
||||||
# terms of the GNU General Public License Version 2 or later (the
|
|
||||||
# "GPL"), in which case the provisions of the GPL are applicable
|
|
||||||
# instead of those above. If you wish to allow use of your
|
|
||||||
# version of this file only under the terms of the GPL and not to
|
|
||||||
# allow others to use your version of this file under the MPL,
|
|
||||||
# indicate your decision by deleting the provisions above and
|
|
||||||
# replace them with the notice and other provisions required by
|
|
||||||
# the GPL. If you do not delete the provisions above, a recipient
|
|
||||||
# may use your version of this file under either the MPL or the
|
|
||||||
# GPL.
|
|
||||||
#
|
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../../..
|
|
||||||
|
|
||||||
MODULE = ninja
|
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
|
||||||
|
|
||||||
PACKAGE = org/mozilla/jss/pkix/cert
|
|
||||||
|
|
||||||
# These are meant to be used within Ninja only.
|
|
||||||
PRIVATE_EXPORTS = \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
JNI_GEN = \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
CLASSES = \
|
|
||||||
Certificate \
|
|
||||||
CertificateInfo \
|
|
||||||
Extension \
|
|
||||||
SubjectKeyIdentifier \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
PRIVATE_CLASSES = \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
|
|
||||||
JSRCS = \
|
|
||||||
Certificate.java \
|
|
||||||
CertificateInfo.java \
|
|
||||||
Extension.java \
|
|
||||||
SubjectKeyIdentifier.java \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
PRIVATE_JSRCS =
|
|
||||||
|
|
||||||
|
|
||||||
CSRCS = \
|
|
||||||
$(NULL)
|
|
|
@ -1,66 +0,0 @@
|
||||||
#
|
|
||||||
# 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 Services for Java.
|
|
||||||
#
|
|
||||||
# The Initial Developer of the Original Code is Netscape
|
|
||||||
# Communications Corporation. Portions created by Netscape are
|
|
||||||
# Copyright (C) 1998-2000 Netscape Communications Corporation. All
|
|
||||||
# Rights Reserved.
|
|
||||||
#
|
|
||||||
# Contributor(s):
|
|
||||||
#
|
|
||||||
# Alternatively, the contents of this file may be used under the
|
|
||||||
# terms of the GNU General Public License Version 2 or later (the
|
|
||||||
# "GPL"), in which case the provisions of the GPL are applicable
|
|
||||||
# instead of those above. If you wish to allow use of your
|
|
||||||
# version of this file only under the terms of the GPL and not to
|
|
||||||
# allow others to use your version of this file under the MPL,
|
|
||||||
# indicate your decision by deleting the provisions above and
|
|
||||||
# replace them with the notice and other provisions required by
|
|
||||||
# the GPL. If you do not delete the provisions above, a recipient
|
|
||||||
# may use your version of this file under either the MPL or the
|
|
||||||
# GPL.
|
|
||||||
#
|
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../../..
|
|
||||||
|
|
||||||
MODULE = ninja
|
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
|
||||||
|
|
||||||
|
|
||||||
PACKAGE = org/mozilla/jss/pkix/cmc
|
|
||||||
|
|
||||||
|
|
||||||
CLASSES = \
|
|
||||||
PKIData \
|
|
||||||
TaggedCertificationRequest \
|
|
||||||
TaggedRequest \
|
|
||||||
ResponseBody \
|
|
||||||
TaggedAttribute \
|
|
||||||
CMCStatusInfo \
|
|
||||||
PendInfo \
|
|
||||||
OtherInfo \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
JSRCS = \
|
|
||||||
PKIData.java \
|
|
||||||
TaggedCertificationRequest.java \
|
|
||||||
TaggedRequest.java \
|
|
||||||
ResponseBody.java \
|
|
||||||
TaggedAttribute.java \
|
|
||||||
CMCStatusInfo.java \
|
|
||||||
PendInfo.java \
|
|
||||||
OtherInfo.java \
|
|
||||||
$(NULL)
|
|
|
@ -1,77 +0,0 @@
|
||||||
#
|
|
||||||
# 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 Services for Java.
|
|
||||||
#
|
|
||||||
# The Initial Developer of the Original Code is Netscape
|
|
||||||
# Communications Corporation. Portions created by Netscape are
|
|
||||||
# Copyright (C) 1998-2000 Netscape Communications Corporation. All
|
|
||||||
# Rights Reserved.
|
|
||||||
#
|
|
||||||
# Contributor(s):
|
|
||||||
#
|
|
||||||
# Alternatively, the contents of this file may be used under the
|
|
||||||
# terms of the GNU General Public License Version 2 or later (the
|
|
||||||
# "GPL"), in which case the provisions of the GPL are applicable
|
|
||||||
# instead of those above. If you wish to allow use of your
|
|
||||||
# version of this file only under the terms of the GPL and not to
|
|
||||||
# allow others to use your version of this file under the MPL,
|
|
||||||
# indicate your decision by deleting the provisions above and
|
|
||||||
# replace them with the notice and other provisions required by
|
|
||||||
# the GPL. If you do not delete the provisions above, a recipient
|
|
||||||
# may use your version of this file under either the MPL or the
|
|
||||||
# GPL.
|
|
||||||
#
|
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../../..
|
|
||||||
|
|
||||||
MODULE = ninja
|
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
|
||||||
|
|
||||||
PACKAGE = org/mozilla/jss/pkix/cmmf
|
|
||||||
|
|
||||||
# These are meant to be used within Ninja only.
|
|
||||||
PRIVATE_EXPORTS = \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
JNI_GEN = \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
CLASSES = \
|
|
||||||
CertifiedKeyPair \
|
|
||||||
CertOrEncCert \
|
|
||||||
CertRepContent \
|
|
||||||
CertResponse \
|
|
||||||
GetCRL \
|
|
||||||
IssuerAndSubject \
|
|
||||||
PKIStatusInfo \
|
|
||||||
RevRepContent \
|
|
||||||
RevRequest \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
PRIVATE_CLASSES = \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
|
|
||||||
JSRCS = \
|
|
||||||
CertifiedKeyPair.java \
|
|
||||||
CertOrEncCert.java \
|
|
||||||
CertRepContent.java \
|
|
||||||
CertResponse.java \
|
|
||||||
GetCRL.java \
|
|
||||||
IssuerAndSubject.java \
|
|
||||||
PKIStatusInfo.java \
|
|
||||||
RevRepContent.java \
|
|
||||||
RevRequest.java \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
PRIVATE_JSRCS =
|
|
|
@ -1,76 +0,0 @@
|
||||||
#
|
|
||||||
# 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 Services for Java.
|
|
||||||
#
|
|
||||||
# The Initial Developer of the Original Code is Netscape
|
|
||||||
# Communications Corporation. Portions created by Netscape are
|
|
||||||
# Copyright (C) 1998-2000 Netscape Communications Corporation. All
|
|
||||||
# Rights Reserved.
|
|
||||||
#
|
|
||||||
# Contributor(s):
|
|
||||||
#
|
|
||||||
# Alternatively, the contents of this file may be used under the
|
|
||||||
# terms of the GNU General Public License Version 2 or later (the
|
|
||||||
# "GPL"), in which case the provisions of the GPL are applicable
|
|
||||||
# instead of those above. If you wish to allow use of your
|
|
||||||
# version of this file only under the terms of the GPL and not to
|
|
||||||
# allow others to use your version of this file under the MPL,
|
|
||||||
# indicate your decision by deleting the provisions above and
|
|
||||||
# replace them with the notice and other provisions required by
|
|
||||||
# the GPL. If you do not delete the provisions above, a recipient
|
|
||||||
# may use your version of this file under either the MPL or the
|
|
||||||
# GPL.
|
|
||||||
#
|
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../../..
|
|
||||||
|
|
||||||
MODULE = ninja
|
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
|
||||||
|
|
||||||
|
|
||||||
PACKAGE = org/mozilla/jss/pkix/cms
|
|
||||||
|
|
||||||
|
|
||||||
CLASSES = \
|
|
||||||
EncapsulatedContentInfo \
|
|
||||||
ContentInfo \
|
|
||||||
DigestedData \
|
|
||||||
DigestInfo \
|
|
||||||
EncryptedContentInfo \
|
|
||||||
EncryptedData \
|
|
||||||
EnvelopedData \
|
|
||||||
IssuerAndSerialNumber \
|
|
||||||
RecipientInfo \
|
|
||||||
SignedAndEnvelopedData \
|
|
||||||
SignedData \
|
|
||||||
SignerInfo \
|
|
||||||
SignerIdentifier \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
JSRCS = \
|
|
||||||
EncapsulatedContentInfo.java \
|
|
||||||
ContentInfo.java \
|
|
||||||
DigestedData.java \
|
|
||||||
DigestInfo.java \
|
|
||||||
EncryptedContentInfo.java \
|
|
||||||
EncryptedData.java \
|
|
||||||
EnvelopedData.java \
|
|
||||||
IssuerAndSerialNumber.java \
|
|
||||||
RecipientInfo.java \
|
|
||||||
SignedAndEnvelopedData.java \
|
|
||||||
SignedData.java \
|
|
||||||
SignerInfo.java \
|
|
||||||
SignerIdentifier.java \
|
|
||||||
$(NULL)
|
|
|
@ -1,89 +0,0 @@
|
||||||
#
|
|
||||||
# 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 Services for Java.
|
|
||||||
#
|
|
||||||
# The Initial Developer of the Original Code is Netscape
|
|
||||||
# Communications Corporation. Portions created by Netscape are
|
|
||||||
# Copyright (C) 1998-2000 Netscape Communications Corporation. All
|
|
||||||
# Rights Reserved.
|
|
||||||
#
|
|
||||||
# Contributor(s):
|
|
||||||
#
|
|
||||||
# Alternatively, the contents of this file may be used under the
|
|
||||||
# terms of the GNU General Public License Version 2 or later (the
|
|
||||||
# "GPL"), in which case the provisions of the GPL are applicable
|
|
||||||
# instead of those above. If you wish to allow use of your
|
|
||||||
# version of this file only under the terms of the GPL and not to
|
|
||||||
# allow others to use your version of this file under the MPL,
|
|
||||||
# indicate your decision by deleting the provisions above and
|
|
||||||
# replace them with the notice and other provisions required by
|
|
||||||
# the GPL. If you do not delete the provisions above, a recipient
|
|
||||||
# may use your version of this file under either the MPL or the
|
|
||||||
# GPL.
|
|
||||||
#
|
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../../..
|
|
||||||
|
|
||||||
MODULE = ninja
|
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
|
||||||
|
|
||||||
PACKAGE = org/mozilla/jss/pkix/crmf
|
|
||||||
|
|
||||||
# These are meant to be used within Ninja only.
|
|
||||||
PRIVATE_EXPORTS = \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
JNI_GEN = \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
CLASSES = \
|
|
||||||
CertId \
|
|
||||||
CertReqMsg \
|
|
||||||
CertRequest \
|
|
||||||
CertTemplate \
|
|
||||||
Control \
|
|
||||||
EncryptedKey \
|
|
||||||
EncryptedValue \
|
|
||||||
PKIArchiveOptions \
|
|
||||||
PKIPublicationInfo \
|
|
||||||
POPOPrivKey \
|
|
||||||
POPOSigningKey \
|
|
||||||
ProofOfPossession \
|
|
||||||
ChallengeResponseException \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
PRIVATE_CLASSES = \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
|
|
||||||
JSRCS = \
|
|
||||||
CertId.java \
|
|
||||||
CertRequest.java \
|
|
||||||
CertReqMsg.java \
|
|
||||||
CertTemplate.java \
|
|
||||||
Control.java \
|
|
||||||
EncryptedKey.java \
|
|
||||||
EncryptedValue.java \
|
|
||||||
PKIArchiveOptions.java \
|
|
||||||
PKIPublicationInfo.java \
|
|
||||||
POPOPrivKey.java \
|
|
||||||
POPOSigningKey.java \
|
|
||||||
ProofOfPossession.java \
|
|
||||||
ChallengeResponseException.java \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
PRIVATE_JSRCS =
|
|
||||||
|
|
||||||
|
|
||||||
CSRCS = \
|
|
||||||
$(NULL)
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../..
|
CORE_DEPTH = ../../../../..
|
||||||
|
|
||||||
MODULE = ninja
|
MODULE = jss
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
NS_USE_JDK = 1
|
||||||
|
|
||||||
|
|
|
@ -1,85 +0,0 @@
|
||||||
#
|
|
||||||
# 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 Services for Java.
|
|
||||||
#
|
|
||||||
# The Initial Developer of the Original Code is Netscape
|
|
||||||
# Communications Corporation. Portions created by Netscape are
|
|
||||||
# Copyright (C) 1998-2000 Netscape Communications Corporation. All
|
|
||||||
# Rights Reserved.
|
|
||||||
#
|
|
||||||
# Contributor(s):
|
|
||||||
#
|
|
||||||
# Alternatively, the contents of this file may be used under the
|
|
||||||
# terms of the GNU General Public License Version 2 or later (the
|
|
||||||
# "GPL"), in which case the provisions of the GPL are applicable
|
|
||||||
# instead of those above. If you wish to allow use of your
|
|
||||||
# version of this file only under the terms of the GPL and not to
|
|
||||||
# allow others to use your version of this file under the MPL,
|
|
||||||
# indicate your decision by deleting the provisions above and
|
|
||||||
# replace them with the notice and other provisions required by
|
|
||||||
# the GPL. If you do not delete the provisions above, a recipient
|
|
||||||
# may use your version of this file under either the MPL or the
|
|
||||||
# GPL.
|
|
||||||
#
|
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../../..
|
|
||||||
|
|
||||||
MODULE = ninja
|
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
|
||||||
|
|
||||||
PACKAGE = org/mozilla/jss/pkix/primitive
|
|
||||||
|
|
||||||
# These are meant to be used within Ninja only.
|
|
||||||
PRIVATE_EXPORTS = \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
JNI_GEN = \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
CLASSES = \
|
|
||||||
AlgorithmIdentifier \
|
|
||||||
Attribute \
|
|
||||||
AVA \
|
|
||||||
DirectoryString \
|
|
||||||
EncryptedPrivateKeyInfo \
|
|
||||||
Name \
|
|
||||||
PBEParameter \
|
|
||||||
PrivateKeyInfo \
|
|
||||||
RDN \
|
|
||||||
SubjectPublicKeyInfo \
|
|
||||||
TooFewElementsException \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
PRIVATE_CLASSES = \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
|
|
||||||
JSRCS = \
|
|
||||||
AlgorithmIdentifier.java \
|
|
||||||
Attribute.java \
|
|
||||||
AVA.java \
|
|
||||||
DirectoryString.java \
|
|
||||||
EncryptedPrivateKeyInfo.java \
|
|
||||||
Name.java \
|
|
||||||
PBEParameter.java \
|
|
||||||
PrivateKeyInfo.java \
|
|
||||||
RDN.java \
|
|
||||||
SubjectPublicKeyInfo.java \
|
|
||||||
TooFewElementsException.java \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
PRIVATE_JSRCS =
|
|
||||||
|
|
||||||
|
|
||||||
CSRCS = \
|
|
||||||
$(NULL)
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../..
|
CORE_DEPTH = ../../../../..
|
||||||
|
|
||||||
MODULE = ninja
|
MODULE = jss
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
NS_USE_JDK = 1
|
||||||
|
|
||||||
|
|
|
@ -30,23 +30,3 @@
|
||||||
# may use your version of this file under either the MPL or the
|
# may use your version of this file under either the MPL or the
|
||||||
# GPL.
|
# GPL.
|
||||||
#
|
#
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Adjust specific variables for all platforms #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
LD_LIBS += \
|
|
||||||
$(LIBSECMOD) \
|
|
||||||
$(LIBCERT) \
|
|
||||||
$(LIBKEY) \
|
|
||||||
$(LIBCRYPTO) \
|
|
||||||
$(LIBHASH) \
|
|
||||||
$(LIBPLDS) \
|
|
||||||
$(LIBSECUTIL) \
|
|
||||||
$(LIBPR) \
|
|
||||||
$(LIBDBM) \
|
|
||||||
$(LIBPLC) \
|
|
||||||
$(LIBSYSTEM) \
|
|
||||||
$(LIBJSSUTIL) \
|
|
||||||
$(LIBJSSPKCS11) \
|
|
||||||
$(NULL)
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../..
|
CORE_DEPTH = ../../../../..
|
||||||
|
|
||||||
MODULE = ninja
|
MODULE = jss
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
NS_USE_JDK = 1
|
||||||
|
|
||||||
|
@ -47,9 +47,7 @@ PRIVATE_CLASSES = \
|
||||||
JCASigTest \
|
JCASigTest \
|
||||||
CloseDBs \
|
CloseDBs \
|
||||||
KeyWrapping \
|
KeyWrapping \
|
||||||
TestExportControlPolicy \
|
|
||||||
ListCerts \
|
ListCerts \
|
||||||
socketTest \
|
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
JSRCS = \
|
JSRCS = \
|
||||||
|
@ -60,7 +58,5 @@ JSRCS = \
|
||||||
JCASigTest.java \
|
JCASigTest.java \
|
||||||
CloseDBs.java \
|
CloseDBs.java \
|
||||||
KeyWrapping.java \
|
KeyWrapping.java \
|
||||||
TestExportControlPolicy.java \
|
|
||||||
ListCerts.java \
|
ListCerts.java \
|
||||||
socketTest.java \
|
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
|
@ -30,29 +30,3 @@
|
||||||
# may use your version of this file under either the MPL or the
|
# may use your version of this file under either the MPL or the
|
||||||
# GPL.
|
# GPL.
|
||||||
#
|
#
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Set the LD_LIBS value to encompass all static JSS, security, and #
|
|
||||||
# dbm libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
LD_LIBS += $(LIBSECUTIL) \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Append additional LD_LIBS value to encompass all dynamic NSPR 2.0, #
|
|
||||||
# java, and system libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
ifeq ($(OS_ARCH), WINNT)
|
|
||||||
LD_LIBS += $(DLLPLDS) $(DLLPLC) $(DLLPR) $(DLLSYSTEM)
|
|
||||||
else
|
|
||||||
LD_LIBS += -L$(SOURCE_LIB_DIR) -lplds3 -lplc3 -lnspr3 $(DLLSYSTEM)
|
|
||||||
endif
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# Turn off any Export Control Policy for these libraries #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
POLICY =
|
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
#include <secitem.h>
|
#include <secitem.h>
|
||||||
#include "jssutil.h"
|
#include "jssutil.h"
|
||||||
#include "jss_bigint.h"
|
#include "jss_bigint.h"
|
||||||
#include <jss_exceptions.h>
|
#include "jss_exceptions.h"
|
||||||
#include "java_ids.h"
|
#include "java_ids.h"
|
||||||
|
|
||||||
#include "_jni/org_mozilla_jss_util_Password.h"
|
#include "_jni/org_mozilla_jss_util_Password.h"
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
CORE_DEPTH = ../../../../..
|
CORE_DEPTH = ../../../../..
|
||||||
|
|
||||||
MODULE = ninja
|
MODULE = jss
|
||||||
|
|
||||||
NS_USE_JDK = 1
|
NS_USE_JDK = 1
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче