Merge m-c to inbound.

This commit is contained in:
Ryan VanderMeulen 2012-10-18 21:28:57 -04:00
commit 604faa03ea
112 changed files with 2136 additions and 338 deletions

View File

@ -203,6 +203,8 @@
<string>%MAC_BUNDLE_VERSION%</string>
<key>NSAppleScriptEnabled</key>
<true/>
<key>LSApplicationCategoryType</key>
<string>public.app-category.productivity</string>
<key>LSMinimumSystemVersion</key>
<string>10.6</string>
<key>LSMinimumSystemVersionByArchitecture</key>

View File

@ -100,9 +100,8 @@ window.addEventListener("load", function () {
// later and may use asynchronous getters.
window.gObserver.observe(document.documentElement, { attributes: true });
fitToWidth();
window.addEventListener("resize", fitToWidth);
});
window.addEventListener("resize", fitToWidth);
function onSearchSubmit(aEvent)
{

View File

@ -33,6 +33,10 @@
margin: 1em;
}
#downloadsHistory:-moz-focusring > .button-box {
outline: 1px -moz-dialogtext dotted;
}
/*** List items ***/
richlistitem[type="download"] {
@ -55,7 +59,7 @@ richlistitem[type="download"]:last-child {
}
#downloadsListBox:-moz-focusring > richlistitem[type="download"][selected] {
outline: 1px #999 dotted;
outline: 1px -moz-dialogtext dotted;
outline-offset: -1px;
-moz-outline-radius: 3px;
}
@ -98,6 +102,9 @@ richlistitem[type="download"]:last-child {
padding: 0;
}
.downloadButton:-moz-focusring > .button-box {
outline: 1px -moz-dialogtext dotted;
}
/*** Highlighted list items ***/
richlistitem[type="download"][state="1"]:hover {
@ -174,11 +181,6 @@ richlistitem[type="download"][state="1"]:hover > .downloadButton.downloadShow:ac
0, 16, 16, 0) center no-repeat;
}
#downloads-indicator-icon:-moz-lwtheme-brighttext {
background: -moz-image-rect(url("chrome://browser/skin/Toolbar-inverted.png"),
0, 16, 16, 0) center no-repeat;
}
#downloads-indicator[attention] > #downloads-indicator-anchor > #downloads-indicator-icon {
background: -moz-image-rect(url("chrome://browser/skin/downloads/download-glow.png"),
16, 32, 32, 16) center no-repeat;

View File

@ -43,6 +43,7 @@
}
#downloadsHistory:-moz-focusring > .button-box {
outline: 1px -moz-dialogtext dotted;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
}
@ -74,7 +75,7 @@ richlistitem[type="download"]:last-child {
}
#downloadsListBox:-moz-focusring > richlistitem[type="download"][selected] {
outline: 1px #999 dotted;
outline: 1px -moz-dialogtext dotted;
outline-offset: -1px;
-moz-outline-radius: 3px;
}
@ -116,6 +117,10 @@ richlistitem[type="download"]:last-child {
padding: 0;
}
.downloadButton:-moz-focusring > .button-box {
outline: 1px -moz-dialogtext dotted;
}
/*** Highlighted list items ***/
richlistitem[type="download"][state="1"]:hover {
@ -173,11 +178,6 @@ richlistitem[type="download"][state="1"]:hover > .downloadButton.downloadShow:ac
0, 140, 20, 120) center no-repeat;
}
#downloads-indicator-icon:-moz-lwtheme-brighttext {
background: -moz-image-rect(url("chrome://browser/skin/Toolbar-inverted.png"),
0, 140, 20, 120) center no-repeat;
}
#downloads-indicator[attention]
#downloads-indicator-icon {
background: -moz-image-rect(url("chrome://browser/skin/downloads/download-glow.png"),

View File

@ -7,6 +7,7 @@
%ifndef WINSTRIPE_AERO
#downloadsHistory,
#downloadsHistory:-moz-focusring > .button-box {
outline: 1px -moz-dialogtext dotted;
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
}
@ -69,7 +70,7 @@ richlistitem[type="download"]:first-child {
}
#downloadsListBox:-moz-focusring > richlistitem[type="download"][selected] {
outline: 1px #999 dotted;
outline: 1px -moz-dialogtext dotted;
outline-offset: -1px;
-moz-outline-radius: 3px;
}
@ -111,6 +112,10 @@ richlistitem[type="download"]:first-child {
padding: 0;
}
.downloadButton:-moz-focusring > .button-box {
outline: 1px -moz-dialogtext dotted;
}
/*** Highlighted list items ***/
richlistitem[type="download"][state="1"]:hover {

View File

@ -29,6 +29,8 @@ MediaEngineWebRTC::EnumerateVideoDevices(nsTArray<nsRefPtr<MediaEngineVideoSourc
{
webrtc::ViEBase* ptrViEBase;
webrtc::ViECapture* ptrViECapture;
// We spawn threads to handle gUM runnables, so we must protect the member vars
MutexAutoLock lock(mMutex);
if (!mVideoEngine) {
if (!(mVideoEngine = webrtc::VideoEngine::Create())) {
@ -123,6 +125,8 @@ MediaEngineWebRTC::EnumerateAudioDevices(nsTArray<nsRefPtr<MediaEngineAudioSourc
{
webrtc::VoEBase* ptrVoEBase = NULL;
webrtc::VoEHardware* ptrVoEHw = NULL;
// We spawn threads to handle gUM runnables, so we must protect the member vars
MutexAutoLock lock(mMutex);
if (!mVoiceEngine) {
mVoiceEngine = webrtc::VoiceEngine::Create();
@ -181,6 +185,9 @@ MediaEngineWebRTC::EnumerateAudioDevices(nsTArray<nsRefPtr<MediaEngineAudioSourc
void
MediaEngineWebRTC::Shutdown()
{
// This is likely paranoia
MutexAutoLock lock(mMutex);
if (mVideoEngine) {
mVideoSources.Clear();
webrtc::VideoEngine::Delete(mVideoEngine);

View File

@ -11,6 +11,7 @@
#include "nsIThread.h"
#include "nsIRunnable.h"
#include "mozilla/Mutex.h"
#include "nsCOMPtr.h"
#include "nsDOMFile.h"
#include "nsThreadUtils.h"
@ -218,10 +219,12 @@ class MediaEngineWebRTC : public MediaEngine
{
public:
MediaEngineWebRTC()
: mVideoEngine(NULL)
: mMutex("mozilla::MediaEngineWebRTC")
, mVideoEngine(NULL)
, mVoiceEngine(NULL)
, mVideoEngineInit(false)
, mAudioEngineInit(false) {
, mAudioEngineInit(false)
{
mVideoSources.Init();
mAudioSources.Init();
}
@ -235,6 +238,9 @@ public:
virtual void EnumerateAudioDevices(nsTArray<nsRefPtr<MediaEngineAudioSource> >*);
private:
Mutex mMutex;
// protected with mMutex:
webrtc::VideoEngine* mVideoEngine;
webrtc::VoiceEngine* mVoiceEngine;

View File

@ -11362,26 +11362,14 @@ NS_IMETHODIMP nsDocShell::EnsureFind()
NS_ENSURE_TRUE(scriptGO, NS_ERROR_UNEXPECTED);
// default to our window
nsCOMPtr<nsIDOMWindow> windowToSearch(do_QueryInterface(mScriptGlobal));
nsCOMPtr<nsIDocShellTreeItem> root;
GetRootTreeItem(getter_AddRefs(root));
// if the active window is the same window that this docshell is in,
// use the currently focused frame
nsCOMPtr<nsIDOMWindow> rootWindow = do_GetInterface(root);
nsCOMPtr<nsIFocusManager> fm = do_GetService(FOCUSMANAGER_CONTRACTID);
if (fm) {
nsCOMPtr<nsIDOMWindow> activeWindow;
fm->GetActiveWindow(getter_AddRefs(activeWindow));
if (activeWindow == rootWindow)
fm->GetFocusedWindow(getter_AddRefs(windowToSearch));
}
nsCOMPtr<nsPIDOMWindow> ourWindow = do_QueryInterface(scriptGO);
nsCOMPtr<nsPIDOMWindow> windowToSearch;
nsFocusManager::GetFocusedDescendant(ourWindow, true, getter_AddRefs(windowToSearch));
nsCOMPtr<nsIWebBrowserFindInFrames> findInFrames = do_QueryInterface(mFind);
if (!findInFrames) return NS_ERROR_NO_INTERFACE;
rv = findInFrames->SetRootSearchFrame(rootWindow);
rv = findInFrames->SetRootSearchFrame(ourWindow);
if (NS_FAILED(rv)) return rv;
rv = findInFrames->SetCurrentSearchFrame(windowToSearch);
if (NS_FAILED(rv)) return rv;

View File

@ -812,6 +812,7 @@ MediaManager::GetUserMedia(bool aPrivileged, nsPIDOMWindow* aWindow,
if (!mMediaThread) {
nsresult rv = NS_NewThread(getter_AddRefs(mMediaThread));
NS_ENSURE_SUCCESS(rv, rv);
LOG(("New Media thread for gum"));
}
mMediaThread->Dispatch(gUMRunnable, NS_DISPATCH_NORMAL);
} else {
@ -952,8 +953,11 @@ MediaManager::Observe(nsISupports* aSubject, const char* aTopic,
// Reuse the same thread to save memory.
if (!mMediaThread) {
LOG(("New Media thread for gum on allow"));
nsresult rv = NS_NewThread(getter_AddRefs(mMediaThread));
NS_ENSURE_SUCCESS(rv, rv);
} else {
LOG(("Reused Media thread for gum on allow"));
}
if (aSubject) {

View File

@ -5,6 +5,9 @@ MARIONETTE_TIMEOUT = 60000;
SpecialPowers.addPermission("mobileconnection", true, document);
const OPERATOR_HOME = 0;
const OPERATOR_ROAMING = 1;
let connection = navigator.mozMobileConnection;
ok(connection instanceof MozMobileConnection,
"connection is instanceof " + connection.constructor);
@ -16,15 +19,37 @@ let network = voice.network;
ok(network, "voice network info valid");
let emulatorCmdPendingCount = 0;
function setEmulatorOperatorNames(longName, shortName) {
function sendEmulatorCommand(cmd, callback) {
emulatorCmdPendingCount++;
let cmd = "operator set 0 " + longName + "," + shortName;
runEmulatorCmd(cmd, function (result) {
emulatorCmdPendingCount--;
is(result[result.length - 1], "OK");
callback(result);
});
}
function setEmulatorOperatorNames(which, longName, shortName, callback) {
let cmd = "operator set " + which + " " + longName + "," + shortName;
sendEmulatorCommand(cmd, function (result) {
let re = new RegExp("^" + longName + "," + shortName + ",");
ok(result[0].match(re), "Long/short name should be changed.");
ok(result[which].match(re), "Long/short name should be changed.");
if (callback) {
window.setTimeout(callback, 0);
}
});
}
function setEmulatorRoaming(roaming, callback) {
let cmd = "gsm voice " + (roaming ? "roaming" : "home");
sendEmulatorCommand(cmd, function (result) {
is(result[0], "OK");
if (callback) {
window.setTimeout(callback, 0);
}
});
}
@ -33,23 +58,28 @@ function checkValidMccMnc() {
is(network.mnc, 260, "network.mnc");
}
function waitForVoiceChange(callback) {
connection.addEventListener("voicechange", function onvoicechange() {
connection.removeEventListener("voicechange", onvoicechange);
callback();
});
}
function doTestMobileOperatorNames(longName, shortName, callback) {
log("Testing '" + longName + "', '" + shortName + "':");
checkValidMccMnc();
connection.addEventListener("voicechange", function onvoicechange() {
connection.removeEventListener("voicechange", onvoicechange);
waitForVoiceChange(function () {
is(network.longName, longName, "network.longName");
is(network.shortName, shortName, "network.shortName");
checkValidMccMnc();
setTimeout(callback, 0);
window.setTimeout(callback, 0);
});
setEmulatorOperatorNames(longName, shortName);
setEmulatorOperatorNames(OPERATOR_HOME, longName, shortName);
}
function testMobileOperatorNames() {
@ -57,7 +87,69 @@ function testMobileOperatorNames() {
doTestMobileOperatorNames("Mozilla", "", function () {
doTestMobileOperatorNames("", "B2G", function () {
doTestMobileOperatorNames("", "", function () {
doTestMobileOperatorNames("Android", "Android", cleanUp);
doTestMobileOperatorNames("Android", "Android", testRoamingCheck);
});
});
});
});
}
// See bug 797972 - B2G RIL: False roaming situation
//
// Steps to test:
// 1. set roaming operator names
// 2. set emulator roaming
// 3. wait for onvoicechange event and test passing conditions
// 4. set emulator roaming back to false
// 5. wait for onvoicechange event again and callback
function doTestRoamingCheck(longName, shortName, callback) {
log("Testing roaming check '" + longName + "', '" + shortName + "':");
setEmulatorOperatorNames(OPERATOR_ROAMING, longName, shortName,
window.setTimeout.bind(window, function () {
let done = false;
function resetRoaming() {
if (!done) {
window.setTimeout(resetRoaming, 100);
return;
}
waitForVoiceChange(callback);
setEmulatorRoaming(false);
}
waitForVoiceChange(function () {
is(network.longName, longName, "network.longName");
is(network.shortName, shortName, "network.shortName");
is(voice.roaming, false, "voice.roaming");
resetRoaming();
});
setEmulatorRoaming(true, function () {
done = true;
});
}, 3000) // window.setTimeout.bind
); // setEmulatorOperatorNames
}
function testRoamingCheck() {
// If Either long name or short name of current registered operator matches
// SPN("Android"), then the `roaming` attribute should be set to false.
doTestRoamingCheck("Android", "Android", function () {
doTestRoamingCheck("Android", "android", function () {
doTestRoamingCheck("Android", "Xxx", function () {
doTestRoamingCheck("android", "Android", function () {
doTestRoamingCheck("android", "android", function () {
doTestRoamingCheck("android", "Xxx", function () {
doTestRoamingCheck("Xxx", "Android", function () {
doTestRoamingCheck("Xxx", "android", function () {
setEmulatorOperatorNames(OPERATOR_ROAMING, "TelKila", "TelKila",
window.setTimeout.bind(window, cleanUp, 3000));
});
});
});
});
});
});
});
@ -74,4 +166,6 @@ function cleanUp() {
finish();
}
testMobileOperatorNames();
waitFor(testMobileOperatorNames, function () {
return voice.connected;
});

View File

@ -621,10 +621,10 @@ RadioInterfaceLayer.prototype = {
return;
}
let spn = icc.spn;
let spn = icc.spn && icc.spn.toLowerCase();
let operator = registration.network;
let longName = operator.longName;
let shortName = operator.shortName;
let longName = operator.longName && operator.longName.toLowerCase();
let shortName = operator.shortName && operator.shortName.toLowerCase();
let equalsLongName = longName && (spn == longName);
let equalsShortName = shortName && (spn == shortName);

View File

@ -206,6 +206,9 @@ NS_IMETHODIMP nsWebBrowserFind::FindNext(bool *outDidFind)
curItem = do_QueryInterface(curSupports, &rv);
if (NS_FAILED(rv)) break;
searchFrame = do_GetInterface(curItem, &rv);
if (NS_FAILED(rv)) break;
if (curItem.get() == startingItem.get())
{
// Beware! This may flush notifications via synchronous
@ -217,9 +220,6 @@ NS_IMETHODIMP nsWebBrowserFind::FindNext(bool *outDidFind)
break;
}
searchFrame = do_GetInterface(curItem, &rv);
if (NS_FAILED(rv)) break;
OnStartSearchFrame(searchFrame);
// Beware! This may flush notifications via synchronous
@ -801,18 +801,13 @@ nsWebBrowserFind::GetFrameSelection(nsIDOMWindow* aWindow,
// that we must use when they have focus.
nsPresContext *presContext = presShell->GetPresContext();
nsIFrame *frame = nullptr;
nsCOMPtr<nsIFocusManager> fm = do_GetService(FOCUSMANAGER_CONTRACTID);
if (fm) {
nsCOMPtr<nsIDOMElement> focusedElement;
fm->GetFocusedElement(getter_AddRefs(focusedElement));
nsCOMPtr<nsIContent> focusedContent(do_QueryInterface(focusedElement));
if (focusedContent) {
frame = focusedContent->GetPrimaryFrame();
if (frame && frame->PresContext() != presContext)
frame = nullptr;
}
}
nsCOMPtr<nsPIDOMWindow> window(do_QueryInterface(aWindow));
nsCOMPtr<nsPIDOMWindow> focusedWindow;
nsCOMPtr<nsIContent> focusedContent =
nsFocusManager::GetFocusedDescendant(window, false, getter_AddRefs(focusedWindow));
nsIFrame *frame = focusedContent ? focusedContent->GetPrimaryFrame() : nullptr;
nsCOMPtr<nsISelectionController> selCon;
if (frame) {

View File

@ -87,7 +87,7 @@ include $(topsrcdir)/config/rules.mk
DEFINES += -DPACKAGE_VERSION="\"moz\""
DEFINES += -DPACKAGE_BUGREPORT="\"http://bugzilla.mozilla.org/\""
DEFINES += -DHAVE_OT=1 -DHB_NO_MT
DEFINES += -DHAVE_OT=1 -DHB_NO_MT -DHB_NO_UNICODE_FUNCS
# Cancel the effect of the -DDEBUG macro if present,
# because harfbuzz uses that name for its own purposes

View File

@ -142,10 +142,11 @@ NS_IMETHODIMP nsHZToUnicode::ConvertNoBuff(
// and ' ' even in GB mode.
if (srcByte > 0x20 || HZ_ENCODING_STATE == HZ_STATE_ASCII) {
*aDest++ = UCS2_NO_MAPPING;
iDestlen++;
}
aSrc--;
(*aSrcLength)--;
iDestlen++;
i--;
break;
}
} else if (HZ_ENCODING_STATE == HZ_STATE_GB) {

View File

@ -756,42 +756,42 @@ ion::ToggleBarriers(JSCompartment *comp, bool needs)
namespace js {
namespace ion {
bool
CompileBackEnd(IonBuilder *builder)
LIRGraph *
CompileBackEnd(MIRGenerator *mir)
{
IonSpewPass("BuildSSA");
// Note: don't call AssertGraphCoherency before SplitCriticalEdges,
// the graph is not in RPO at this point.
MIRGraph &graph = builder->graph();
MIRGraph &graph = mir->graph();
if (!SplitCriticalEdges(builder, graph))
return false;
if (!SplitCriticalEdges(graph))
return NULL;
IonSpewPass("Split Critical Edges");
AssertGraphCoherency(graph);
if (!RenumberBlocks(graph))
return false;
return NULL;
IonSpewPass("Renumber Blocks");
AssertGraphCoherency(graph);
if (!BuildDominatorTree(graph))
return false;
return NULL;
// No spew: graph not changed.
// This must occur before any code elimination.
if (!EliminatePhis(graph))
return false;
return NULL;
IonSpewPass("Eliminate phis");
AssertGraphCoherency(graph);
if (!BuildPhiReverseMapping(graph))
return false;
return NULL;
// No spew: graph not changed.
// This pass also removes copies.
if (!ApplyTypeInformation(graph))
return false;
return NULL;
IonSpewPass("Apply types");
AssertGraphCoherency(graph);
@ -800,7 +800,7 @@ CompileBackEnd(IonBuilder *builder)
if (js_IonOptions.licm || js_IonOptions.gvn) {
AliasAnalysis analysis(graph);
if (!analysis.analyze())
return false;
return NULL;
IonSpewPass("Alias analysis");
AssertGraphCoherency(graph);
}
@ -808,7 +808,7 @@ CompileBackEnd(IonBuilder *builder)
if (js_IonOptions.edgeCaseAnalysis) {
EdgeCaseAnalysis edgeCaseAnalysis(graph);
if (!edgeCaseAnalysis.analyzeEarly())
return false;
return NULL;
IonSpewPass("Edge Case Analysis (Early)");
AssertGraphCoherency(graph);
}
@ -816,7 +816,7 @@ CompileBackEnd(IonBuilder *builder)
if (js_IonOptions.gvn) {
ValueNumberer gvn(graph, js_IonOptions.gvnIsOptimistic);
if (!gvn.analyze())
return false;
return NULL;
IonSpewPass("GVN");
AssertGraphCoherency(graph);
}
@ -824,30 +824,30 @@ CompileBackEnd(IonBuilder *builder)
if (js_IonOptions.rangeAnalysis) {
RangeAnalysis r(graph);
if (!r.addBetaNobes())
return false;
return NULL;
IonSpewPass("Beta");
AssertGraphCoherency(graph);
if (!r.analyze())
return false;
return NULL;
IonSpewPass("Range Analysis");
AssertGraphCoherency(graph);
if (!r.removeBetaNobes())
return false;
return NULL;
IonSpewPass("De-Beta");
AssertGraphCoherency(graph);
}
if (!EliminateDeadCode(graph))
return false;
return NULL;
IonSpewPass("DCE");
AssertGraphCoherency(graph);
if (js_IonOptions.licm) {
LICM licm(graph);
if (!licm.analyze())
return false;
return NULL;
IonSpewPass("LICM");
AssertGraphCoherency(graph);
}
@ -855,7 +855,7 @@ CompileBackEnd(IonBuilder *builder)
if (js_IonOptions.edgeCaseAnalysis) {
EdgeCaseAnalysis edgeCaseAnalysis(graph);
if (!edgeCaseAnalysis.analyzeLate())
return false;
return NULL;
IonSpewPass("Edge Case Analysis (Late)");
AssertGraphCoherency(graph);
}
@ -865,28 +865,27 @@ CompileBackEnd(IonBuilder *builder)
// index, code motion after this pass could incorrectly move a load or
// store before its bounds check.
if (!EliminateRedundantBoundsChecks(graph))
return false;
return NULL;
IonSpewPass("Bounds Check Elimination");
AssertGraphCoherency(graph);
LIRGraph *lir = builder->temp().lifoAlloc()->new_<LIRGraph>(&graph);
LIRGraph *lir = mir->temp().lifoAlloc()->new_<LIRGraph>(&graph);
if (!lir)
return false;
return NULL;
LIRGenerator lirgen(builder, graph, *lir);
LIRGenerator lirgen(mir, graph, *lir);
if (!lirgen.generate())
return false;
return NULL;
IonSpewPass("Generate LIR");
if (js_IonOptions.lsra) {
LinearScanAllocator regalloc(&lirgen, *lir);
if (!regalloc.go())
return false;
return NULL;
IonSpewPass("Allocate Registers", &regalloc);
}
builder->lir = lir;
return true;
return lir;
}
class AutoDestroyAllocator
@ -927,11 +926,11 @@ AttachFinishedCompilations(JSContext *cx)
while (!compilations.empty()) {
IonBuilder *builder = compilations.popCopy();
if (builder->lir) {
if (builder->backgroundCompiledLir) {
RootedScript script(cx, builder->script());
IonContext ictx(cx, cx->compartment, &builder->temp());
CodeGenerator codegen(builder, *builder->lir);
CodeGenerator codegen(builder, *builder->backgroundCompiledLir);
types::AutoEnterCompilation enterCompiler(cx, types::AutoEnterCompilation::Ion);
enterCompiler.initExisting(builder->recompileInfo);
@ -1033,12 +1032,13 @@ IonCompile(JSContext *cx, JSScript *script, JSFunction *fun, jsbytecode *osrPc,
return true;
}
if (!CompileBackEnd(builder)) {
LIRGraph *lir = CompileBackEnd(builder);
if (!lir) {
IonSpew(IonSpew_Abort, "Failed during back-end compilation.");
return false;
}
CodeGenerator codegen(builder, *builder->lir);
CodeGenerator codegen(builder, *lir);
if (!codegen.generate()) {
IonSpew(IonSpew_Abort, "Failed during code generation.");
return false;

View File

@ -252,8 +252,10 @@ void MarkFromIon(JSCompartment *comp, Value *vp);
void ToggleBarriers(JSCompartment *comp, bool needs);
class IonBuilder;
class MIRGenerator;
class LIRGraph;
bool CompileBackEnd(IonBuilder *builder);
LIRGraph *CompileBackEnd(MIRGenerator *mir);
void AttachFinishedCompilations(JSContext *cx);
void FinishOffThreadBuilder(IonBuilder *builder);
bool TestIonCompile(JSContext *cx, JSScript *script, JSFunction *fun, jsbytecode *osrPc, bool constructing);

View File

@ -17,7 +17,7 @@ using namespace js::ion;
// nor its predecessor's only successor. Critical edges must be split to
// prevent copy-insertion and code motion from affecting other edges.
bool
ion::SplitCriticalEdges(MIRGenerator *gen, MIRGraph &graph)
ion::SplitCriticalEdges(MIRGraph &graph)
{
for (MBasicBlockIterator block(graph.begin()); block != graph.end(); block++) {
if (block->numSuccessors() < 2)

View File

@ -19,7 +19,7 @@ class MIRGenerator;
class MIRGraph;
bool
SplitCriticalEdges(MIRGenerator *gen, MIRGraph &graph);
SplitCriticalEdges(MIRGraph &graph);
bool
EliminatePhis(MIRGraph &graph);

View File

@ -27,7 +27,7 @@ IonBuilder::IonBuilder(JSContext *cx, TempAllocator *temp, MIRGraph *graph,
TypeOracle *oracle, CompileInfo *info, size_t inliningDepth, uint32 loopDepth)
: MIRGenerator(cx->compartment, temp, graph, info),
recompileInfo(cx->compartment->types.compiledInfo),
lir(NULL),
backgroundCompiledLir(NULL),
cx(cx),
loopDepth_(loopDepth),
callerResumePoint_(NULL),

View File

@ -445,7 +445,7 @@ class IonBuilder : public MIRGenerator
types::RecompileInfo const recompileInfo;
// If off thread compilation is successful, final LIR is attached here.
LIRGraph *lir;
LIRGraph *backgroundCompiledLir;
void clearForBackEnd();

View File

@ -625,7 +625,7 @@ class MacroAssembler : public MacroAssemblerSpecific
store32(Imm32(ProfileEntry::NullPCIndex),
Address(temp, ProfileEntry::offsetOfPCIdx()));
/* Always increment the stack size, tempardless if we actually pushed */
/* Always increment the stack size, whether or not we actually pushed. */
bind(&stackFull);
movePtr(ImmWord(p->sizePointer()), temp);
add32(Imm32(1), Address(temp, 0));

View File

@ -429,9 +429,10 @@ class LDefinition
// A type virtual register must be followed by a payload virtual
// register, as both will be tracked as a single gcthing.
TYPE,
PAYLOAD,
#endif
PAYLOAD
#else
BOX // Joined box, for punbox systems. (GPR, gcthing)
#endif
};
void set(uint32 index, Type type, Policy policy) {

View File

@ -1603,6 +1603,7 @@ JS_TransplantObject(JSContext *cx, JSObject *origobjArg, JSObject *targetArg)
AutoCompartment ac(cx, origobj);
if (!JS_WrapObject(cx, newIdentityWrapper.address()))
MOZ_CRASH();
JS_ASSERT(Wrapper::wrappedObject(newIdentityWrapper) == newIdentity);
if (!origobj->swap(cx, newIdentityWrapper))
MOZ_CRASH();
origobj->compartment()->crossCompartmentWrappers.put(ObjectValue(*newIdentity), origv);
@ -1692,6 +1693,7 @@ js_TransplantObjectWithWrapper(JSContext *cx,
RootedObject wrapperGuts(cx, targetobj);
if (!JS_WrapObject(cx, wrapperGuts.address()))
MOZ_CRASH();
JS_ASSERT(Wrapper::wrappedObject(wrapperGuts) == targetobj);
if (!origwrapper->swap(cx, wrapperGuts))
MOZ_CRASH();
origwrapper->compartment()->crossCompartmentWrappers.put(ObjectValue(*targetobj),

View File

@ -295,7 +295,7 @@ WorkerThread::threadLoop()
{
ion::IonContext ictx(NULL, ionScript->compartment(), &builder->temp());
ion::CompileBackEnd(builder);
builder->backgroundCompiledLir = ion::CompileBackEnd(builder);
}
state.lock();

View File

@ -32,6 +32,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=801241
}
function go() {
document.getElementById('ifr').onload = null;
var sb = new Cu.Sandbox(this);
sb.win = document.getElementById('ifr').contentWindow;
sb.ok = ok;

View File

@ -132,19 +132,19 @@ GetDesiredRegionSize()
static void *
ReserveRegion(uintptr_t region, uintptr_t size)
{
return mmap((caddr_t)region, size, PROT_NONE, MAP_PRIVATE|MAP_ANON, -1, 0);
return mmap(reinterpret_cast<void*>(region), size, PROT_NONE, MAP_PRIVATE|MAP_ANON, -1, 0);
}
static void
ReleaseRegion(void *region, uintptr_t size)
{
munmap((caddr_t)region, size);
munmap(region, size);
}
static bool
ProbeRegion(uintptr_t region, uintptr_t size)
{
if (madvise((caddr_t)region, size, MADV_NORMAL)) {
if (madvise(reinterpret_cast<void*>(region), size, MADV_NORMAL)) {
return true;
} else {
return false;

View File

@ -326,7 +326,7 @@ static unsigned long _pagesize;
static void *
ReserveRegion(uintptr_t request, bool accessible)
{
return mmap((caddr_t)request, PAGESIZE,
return mmap(reinterpret_cast<void*>(request), PAGESIZE,
accessible ? PROT_READ|PROT_WRITE : PROT_NONE,
MAP_PRIVATE|MAP_ANON, -1, 0);
}
@ -334,13 +334,13 @@ ReserveRegion(uintptr_t request, bool accessible)
static void
ReleaseRegion(void *page)
{
munmap((caddr_t)page, PAGESIZE);
munmap(page, PAGESIZE);
}
static bool
ProbeRegion(uintptr_t page)
{
if (madvise((caddr_t)page, PAGESIZE, MADV_NORMAL)) {
if (madvise(reinterpret_cast<void*>(page), PAGESIZE, MADV_NORMAL)) {
return true;
} else {
return false;

View File

@ -1,6 +1,6 @@
<!DOCTYPE HTML>
<html>
<body style="overflow:hidden">
<div style="width:1px; height:1px; background:lime; position:absolute; left:799px; top:0;"></div>
<div style="width:1px; height:1px; background:lime; position:absolute; left:599px; top:0;"></div>
</body>
</html>

View File

@ -1,6 +1,6 @@
<!DOCTYPE HTML>
<html>
<body style="overflow:hidden">
<div style="width:1px; height:1px; background:red; position:absolute; left:799px; top:0;"></div>
<div style="width:1px; height:1px; background:red; position:absolute; left:599px; top:0;"></div>
</body>
</html>

View File

@ -1,6 +1,6 @@
<!DOCTYPE HTML>
<html>
<body style="overflow:hidden">
<div style="width:1px; height:1px; background:lime; position:absolute; left:799px; top:999px;"></div>
<div style="width:1px; height:1px; background:lime; position:absolute; left:599px; top:599px;"></div>
</body>
</html>

View File

@ -1,6 +1,6 @@
<!DOCTYPE HTML>
<html>
<body style="overflow:hidden">
<div style="width:1px; height:1px; background:red; position:absolute; left:799px; top:999px;"></div>
<div style="width:1px; height:1px; background:red; position:absolute; left:599px; top:599px;"></div>
</body>
</html>

View File

@ -1,6 +1,6 @@
<!DOCTYPE HTML>
<html>
<body style="overflow:hidden">
<div style="width:1px; height:1px; background:lime; position:absolute; left:0; top:999px;"></div>
<div style="width:1px; height:1px; background:lime; position:absolute; left:0; top:599px;"></div>
</body>
</html>

View File

@ -1,6 +1,6 @@
<!DOCTYPE HTML>
<html>
<body style="overflow:hidden">
<div style="width:1px; height:1px; background:red; position:absolute; left:0; top:999px;"></div>
<div style="width:1px; height:1px; background:red; position:absolute; left:0; top:599px;"></div>
</body>
</html>

View File

@ -2653,7 +2653,6 @@ gsmsdp_negotiate_codec (fsmdef_dcb_t *dcb_p, cc_sdp_t *sdp_p,
int32_t num_match_payloads = 0;
int payload = RTP_NONE;
int remote_dynamic_payload_type_value = RTP_NONE;
int local_dynamic_payload_type_value = RTP_NONE;
int32_t payload_types_count = 0; // count for allocating right amout
// of memory for media->paylaods
@ -2823,17 +2822,14 @@ gsmsdp_negotiate_codec (fsmdef_dcb_t *dcb_p, cc_sdp_t *sdp_p,
/* we answer with same dynamic payload type value for a given dynamic payload type */
if (master_list_p == remote_media_types) {
remote_dynamic_payload_type_value = GET_DYN_PAYLOAD_TYPE_VALUE(master_list_p[i]);
local_dynamic_payload_type_value = GET_DYN_PAYLOAD_TYPE_VALUE(master_list_p[i]);
} else {
remote_dynamic_payload_type_value = GET_DYN_PAYLOAD_TYPE_VALUE(slave_list_p[j]);
local_dynamic_payload_type_value = GET_DYN_PAYLOAD_TYPE_VALUE(slave_list_p[j]);
}
} else { //if remote SDP is an answer
if (media->local_dynamic_payload_type_value == RTP_NONE ||
media->payload != media->previous_sdp.payload_type) {
/* If the the negotiated payload type is different from previous,
set it the local dynamic to payload type as this is what we offered*/
local_dynamic_payload_type_value = media->payload;
}
/* remote answer may not use the value that we offered for a given dynamic payload type */
if (master_list_p == remote_media_types) {

View File

@ -11,15 +11,50 @@
#define wrap(a) je_ ## a
#endif
extern MOZ_IMPORT_API(int)
/*
* CTL_* macros are from memory/jemalloc/src/src/stats.c with changes:
* - drop `t' argument to avoid redundancy in calculating type size
* - require `i' argument for arena number explicitly
*/
#define CTL_GET(n, v) do { \
size_t sz = sizeof(v); \
wrap(mallctl)(n, &v, &sz, NULL, 0); \
} while (0)
#define CTL_I_GET(n, v, i) do { \
size_t mib[6]; \
size_t miblen = sizeof(mib) / sizeof(mib[0]); \
size_t sz = sizeof(v); \
wrap(mallctlnametomib)(n, mib, &miblen); \
mib[2] = i; \
wrap(mallctlbymib)(mib, miblen, &v, &sz, NULL, 0); \
} while (0)
MOZ_IMPORT_API(int)
wrap(mallctl)(const char*, void*, size_t*, void*, size_t);
MOZ_IMPORT_API(int)
wrap(mallctlnametomib)(const char *name, size_t *mibp, size_t *miblenp);
MOZ_IMPORT_API(int)
wrap(mallctlbymib)(const size_t *mib, size_t miblen, void *oldp, size_t *oldlenp, void *newp, size_t newlen);
MOZ_EXPORT_API(void)
jemalloc_stats(jemalloc_stats_t *stats)
{
size_t size = sizeof(stats->mapped);
wrap(mallctl)("stats.mapped", &stats->mapped, &size, NULL, 0);
wrap(mallctl)("stats.allocated", &stats->allocated, &size, NULL, 0);
stats->committed = -1;
stats->dirty = -1;
unsigned narenas;
size_t active, allocated, mapped, page, pdirty;
CTL_GET("arenas.narenas", narenas);
CTL_GET("arenas.page", page);
CTL_GET("stats.active", active);
CTL_GET("stats.allocated", allocated);
CTL_GET("stats.mapped", mapped);
/* get the summation for all arenas, i == narenas */
CTL_I_GET("stats.arenas.0.pdirty", pdirty, narenas);
stats->allocated = allocated;
stats->mapped = mapped;
stats->dirty = pdirty * page;
stats->committed = active + stats->dirty;
}

View File

@ -517,6 +517,7 @@ pref("ui.dragThresholdY", 25);
pref("layers.acceleration.disabled", false);
pref("layers.offmainthreadcomposition.enabled", true);
pref("layers.async-video.enabled", true);
pref("layers.progressive-paint", false);
pref("notification.feature.enabled", true);

View File

@ -86,7 +86,7 @@ abstract public class BrowserApp extends GeckoApp
private FindInPageBar mFindInPageBar;
// We'll ask for feedback after the user launches the app this many times.
private static final int FEEDBACK_LAUNCH_COUNT = 10;
private static final int FEEDBACK_LAUNCH_COUNT = 15;
@Override
public void onTabChanged(Tab tab, Tabs.TabEvents msg, Object data) {

View File

@ -266,6 +266,7 @@ DEFINES += \
-DMOZ_APP_BUILDID=$(MOZ_APP_BUILDID) \
-DMOZ_APP_ABI=$(TARGET_XPCOM_ABI) \
-DMOZ_UPDATER=$(MOZ_UPDATER) \
-DMOZ_PKG_SPECIAL=$(MOZ_PKG_SPECIAL) \
$(NULL)
ifdef MOZ_LINKER_EXTRACT

View File

@ -169,6 +169,12 @@ class MultiChoicePreference extends DialogPreference {
@Override
protected void onDialogClosed(boolean positiveResult) {
if (mPrevValues == null || mInitialValues == null) {
// Initialization is done asynchronously, so these values may not
// have been set before the dialog was closed.
return;
}
if (!positiveResult) {
// user cancelled; reset checkbox values to their previous state
mValues = mPrevValues.clone();

View File

@ -417,6 +417,7 @@ public class TabsTray extends LinearLayout
if (mSwipeView == null)
break;
cancelCheckForTap();
mSwipeView.setPressed(false);
if (!mSwiping) {

View File

@ -54,6 +54,16 @@ class TextSelection extends Layer implements GeckoEventListener {
unregisterEventListener("TextSelection:PositionHandles");
}
private TextSelectionHandle getHandle(String name) {
if (name.equals("START")) {
return mStartHandle;
} else if (name.equals("MIDDLE")) {
return mMiddleHandle;
} else {
return mEndHandle;
}
}
public void handleMessage(String event, JSONObject message) {
try {
if (event.equals("TextSelection:ShowHandles")) {
@ -63,13 +73,7 @@ class TextSelection extends Layer implements GeckoEventListener {
try {
for (int i=0; i < handles.length(); i++) {
String handle = handles.getString(i);
if (handle.equals("START"))
mStartHandle.setVisibility(View.VISIBLE);
else if (handle.equals("MIDDLE"))
mMiddleHandle.setVisibility(View.VISIBLE);
else
mEndHandle.setVisibility(View.VISIBLE);
getHandle(handle).setVisibility(View.VISIBLE);
}
mViewLeft = 0.0f;
@ -94,12 +98,7 @@ class TextSelection extends Layer implements GeckoEventListener {
for (int i=0; i < handles.length(); i++) {
String handle = handles.getString(i);
if (handle.equals("START"))
mStartHandle.setVisibility(View.GONE);
else if (handle.equals("MIDDLE"))
mMiddleHandle.setVisibility(View.GONE);
else
mEndHandle.setVisibility(View.GONE);
getHandle(handle).setVisibility(View.GONE);
}
} catch(Exception e) {}
@ -112,17 +111,13 @@ class TextSelection extends Layer implements GeckoEventListener {
try {
for (int i=0; i < positions.length(); i++) {
JSONObject position = positions.getJSONObject(i);
String handle = position.getString("handle");
int left = position.getInt("left");
int top = position.getInt("top");
if (handle.equals("START"))
mStartHandle.positionFromGecko(left, top);
else if (handle.equals("MIDDLE"))
mMiddleHandle.positionFromGecko(left, top);
else
mEndHandle.positionFromGecko(left, top);
}
TextSelectionHandle handle = getHandle(position.getString("handle"));
handle.setVisibility(position.getBoolean("hidden") ? View.GONE : View.VISIBLE);
handle.positionFromGecko(left, top);
}
} catch (Exception e) { }
}
});

View File

@ -2035,19 +2035,42 @@ var SelectionHandler = {
let scrollX = {}, scrollY = {};
this._view.top.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils).getScrollXY(false, scrollX, scrollY);
// the checkHidden function tests to see if the given point is hidden inside an
// iframe/subdocument. this is so that if we select some text inside an iframe and
// scroll the iframe so the selection is out of view, we hide the handles rather
// than having them float on top of the main page content.
let checkHidden = function(x, y) {
return false;
};
if (this._view.frameElement) {
let bounds = this._view.frameElement.getBoundingClientRect();
checkHidden = function(x, y) {
return x < 0 || y < 0 || x > bounds.width || y > bounds.height;
}
}
let positions = null;
if (this._activeType == this.TYPE_CURSOR) {
let cursor = this._cwu.sendQueryContentEvent(this._cwu.QUERY_CARET_RECT, this._target.selectionEnd, 0, 0, 0);
let x = cursor.left;
let y = cursor.top + cursor.height;
positions = [ { handle: this.HANDLE_TYPE_MIDDLE,
left: cursor.left + offset.x + scrollX.value,
top: cursor.top + cursor.height + offset.y + scrollY.value } ];
left: x + offset.x + scrollX.value,
top: y + offset.y + scrollY.value,
hidden: checkHidden(x, y) } ];
} else {
let sx = this.cache.start.x;
let sy = this.cache.start.y;
let ex = this.cache.end.x;
let ey = this.cache.end.y;
positions = [ { handle: this.HANDLE_TYPE_START,
left: this.cache.start.x + offset.x + scrollX.value,
top: this.cache.start.y + offset.y + scrollY.value },
left: sx + offset.x + scrollX.value,
top: sy + offset.y + scrollY.value,
hidden: checkHidden(sx, sy) },
{ handle: this.HANDLE_TYPE_END,
left: this.cache.end.x + offset.x + scrollX.value,
top: this.cache.end.y + offset.y + scrollY.value } ];
left: ex + offset.x + scrollX.value,
top: ey + offset.y + scrollY.value,
hidden: checkHidden(ex, ey) } ];
}
sendMessageToJava({
@ -2056,6 +2079,29 @@ var SelectionHandler = {
positions: positions
}
});
},
subdocumentScrolled: function sh_subdocumentScrolled(aElement) {
if (this._activeType == this.TYPE_NONE) {
return;
}
let scrollView = aElement.ownerDocument.defaultView;
let view = this._view;
while (true) {
if (view == scrollView) {
// The selection is in a view (or sub-view) of the view that scrolled.
// So we need to reposition the handles.
if (this._activeType == this.TYPE_SELECTION) {
this.updateCacheForSelection();
}
this.positionHandles();
break;
}
if (view == view.parent) {
break;
}
view = view.parent;
}
}
};
@ -3646,6 +3692,7 @@ var BrowserEventHandler = {
if (this._elementCanScroll(this._scrollableElement, data.x, data.y)) {
this._scrollElementBy(this._scrollableElement, data.x, data.y);
sendMessageToJava({ gecko: { type: "Gesture:ScrollAck", scrolled: true } });
SelectionHandler.subdocumentScrolled(this._scrollableElement);
} else {
sendMessageToJava({ gecko: { type: "Gesture:ScrollAck", scrolled: false } });
}
@ -3656,12 +3703,9 @@ var BrowserEventHandler = {
if (element) {
try {
let data = JSON.parse(aData);
let isClickable = ElementTouchHelper.isElementClickable(element);
if (isClickable) {
if (ElementTouchHelper.isElementClickable(element)) {
[data.x, data.y] = this._moveClickPoint(element, data.x, data.y);
element = ElementTouchHelper.anyElementFromPoint(data.x, data.y);
isClickable = ElementTouchHelper.isElementClickable(element);
}
this._sendMouseEvent("mousemove", element, data.x, data.y);
@ -3671,9 +3715,6 @@ var BrowserEventHandler = {
// See if its a input element
if ((element instanceof HTMLInputElement && element.mozIsTextField(false)) || (element instanceof HTMLTextAreaElement))
SelectionHandler.showThumb(element);
if (isClickable)
Haptic.performSimpleAction(Haptic.LongPress);
} catch(e) {
Cu.reportError(e);
}
@ -3682,13 +3723,10 @@ var BrowserEventHandler = {
} else if (aTopic == "Gesture:DoubleTap") {
this._cancelTapHighlight();
this.onDoubleTap(aData);
} else if (aTopic == "MozMagnifyGestureStart" ||
aTopic == "MozMagnifyGestureUpdate") {
} else if (aTopic == "MozMagnifyGestureStart" || aTopic == "MozMagnifyGestureUpdate") {
this.onPinch(aData);
} else if (aTopic == "MozMagnifyGesture") {
this.onPinchFinish(aData,
this._mLastPinchPoint.x,
this._mLastPinchPoint.y);
this.onPinchFinish(aData, this._mLastPinchPoint.x, this._mLastPinchPoint.y);
} else if (aTopic == "nsPref:changed") {
if (aData == "browser.zoom.reflowOnZoom") {
this.updateReflozPref();

View File

@ -165,7 +165,7 @@ aes_icm_dealloc(cipher_t *c) {
err_status_t
aes_icm_context_init(aes_icm_ctx_t *c, const uint8_t *key, int key_len) {
err_status_t status;
int base_key_len;
int base_key_len, copy_len;
if (key_len > 16 && key_len < 30) /* Ismacryp */
base_key_len = 16;
@ -174,15 +174,21 @@ aes_icm_context_init(aes_icm_ctx_t *c, const uint8_t *key, int key_len) {
else
return err_status_bad_param;
/* set counter and initial values to 'offset' value */
/* Note this copies past the end of the 'key' array by 2 bytes! */
v128_copy_octet_string(&c->counter, key + base_key_len);
v128_copy_octet_string(&c->offset, key + base_key_len);
/*
* set counter and initial values to 'offset' value, being careful not to
* go past the end of the key buffer
*/
v128_set_to_zero(&c->counter);
v128_set_to_zero(&c->offset);
copy_len = key_len - base_key_len;
/* force last two octets of the offset to be left zero (for srtp compatibility) */
if (copy_len > 14)
copy_len = 14;
memcpy(&c->counter, key + base_key_len, copy_len);
memcpy(&c->offset, key + base_key_len, copy_len);
/* force last two octets of the offset to zero (for srtp compatibility) */
c->offset.v8[14] = c->offset.v8[15] = 0;
c->counter.v8[14] = c->counter.v8[15] = 0;
debug_print(mod_aes_icm,
"key: %s", octet_string_hex_string(key, base_key_len));
debug_print(mod_aes_icm,

View File

@ -1,12 +1,13 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/*
* A dummy header file that is a dependency for all the object files.
* Used to force a full recompilation of NSS in Mozilla's Tinderbox
* depend builds. See comments in rules.mk.
*/
#error "Do not include this header file."
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/*
* A dummy header file that is a dependency for all the object files.
* Used to force a full recompilation of NSS in Mozilla's Tinderbox
* depend builds. See comments in rules.mk.
*/
#error "Do not include this header file."

View File

@ -102,7 +102,7 @@ static struct nsMyTrustedEVInfo myTrustedEVInfos[] = {
},
{
// CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
"1.3.6.1.4.1.23223.2",
"1.3.6.1.4.1.23223.1.1.1",
"StartCom EV OID",
SEC_OID_UNKNOWN,
"3E:2B:F7:F2:03:1B:96:F3:8C:E6:C4:D8:A8:5D:3E:2D:58:47:6A:0F",
@ -112,6 +112,29 @@ static struct nsMyTrustedEVInfo myTrustedEVInfos[] = {
"AQ==",
nullptr
},
{
// CN=StartCom Certification Authority,OU=Secure Digital Certificate Signing,O=StartCom Ltd.,C=IL
"1.3.6.1.4.1.23223.1.1.1",
"StartCom EV OID",
SEC_OID_UNKNOWN,
"A3:F1:33:3F:E2:42:BF:CF:C5:D1:4E:8F:39:42:98:40:68:10:D1:A0",
"MH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQL"
"EyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMSkwJwYDVQQDEyBT"
"dGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ==",
"LQ==",
nullptr
},
{
// CN=StartCom Certification Authority G2,O=StartCom Ltd.,C=IL
"1.3.6.1.4.1.23223.1.1.1",
"StartCom EV OID",
SEC_OID_UNKNOWN,
"31:F1:FD:68:22:63:20:EE:C6:3B:3F:9D:EA:4A:3E:53:7C:7C:39:17",
"MFMxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSwwKgYDVQQD"
"EyNTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBHMg==",
"Ow==",
nullptr
},
{
// CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
"2.16.840.1.113733.1.7.23.6",
@ -405,7 +428,7 @@ static struct nsMyTrustedEVInfo myTrustedEVInfos[] = {
{
// CN=Buypass Class 3 CA 1,O=Buypass AS-983163327,C=NO
"2.16.578.1.26.1.3.3",
"Buypass Class 3 CA 1",
"Buypass EV OID",
SEC_OID_UNKNOWN,
"61:57:3A:11:DF:0E:D8:7E:D5:92:65:22:EA:D0:56:D7:44:B3:23:71",
"MEsxCzAJBgNVBAYTAk5PMR0wGwYDVQQKDBRCdXlwYXNzIEFTLTk4MzE2MzMyNzEd"
@ -413,6 +436,17 @@ static struct nsMyTrustedEVInfo myTrustedEVInfos[] = {
"Ag==",
nullptr
},
{
// CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO
"2.16.578.1.26.1.3.3",
"Buypass EV OID",
SEC_OID_UNKNOWN,
"DA:FA:F7:FA:66:84:EC:06:8F:14:50:BD:C7:C2:81:A5:BC:A9:64:57",
"ME4xCzAJBgNVBAYTAk5PMR0wGwYDVQQKDBRCdXlwYXNzIEFTLTk4MzE2MzMyNzEg"
"MB4GA1UEAwwXQnV5cGFzcyBDbGFzcyAzIFJvb3QgQ0E=",
"Ag==",
nullptr
},
{
// CN=Class 2 Primary CA,O=Certplus,C=FR
"1.3.6.1.4.1.22234.2.5.2.3.1",

403
security/nss/COPYING Normal file
View File

@ -0,0 +1,403 @@
NSS is available under the Mozilla Public License, version 2, a copy of which
is below.
Note on GPL Compatibility
-------------------------
The MPL 2, section 3.3, permits you to combine NSS with code under the GNU
General Public License (GPL) version 2, or any later version of that
license, to make a Larger Work, and distribute the result under the GPL.
The only condition is that you must also make NSS, and any changes you
have made to it, available to recipients under the terms of the MPL 2 also.
Anyone who receives the combined code from you does not have to continue
to dual licence in this way, and may, if they wish, distribute under the
terms of either of the two licences - either the MPL alone or the GPL
alone. However, we discourage people from distributing copies of NSS under
the GPL alone, because it means that any improvements they make cannot be
reincorporated into the main version of NSS. There is never a need to do
this for license compatibility reasons.
Note on LGPL Compatibility
--------------------------
The above also applies to combining MPLed code in a single library with
code under the GNU Lesser General Public License (LGPL) version 2.1, or
any later version of that license. If the LGPLed code and the MPLed code
are not in the same library, then the copyleft coverage of the two
licences does not overlap, so no issues arise.
Mozilla Public License Version 2.0
==================================
1. Definitions
--------------
1.1. "Contributor"
means each individual or legal entity that creates, contributes to
the creation of, or owns Covered Software.
1.2. "Contributor Version"
means the combination of the Contributions of others (if any) used
by a Contributor and that particular Contributor's Contribution.
1.3. "Contribution"
means Covered Software of a particular Contributor.
1.4. "Covered Software"
means Source Code Form to which the initial Contributor has attached
the notice in Exhibit A, the Executable Form of such Source Code
Form, and Modifications of such Source Code Form, in each case
including portions thereof.
1.5. "Incompatible With Secondary Licenses"
means
(a) that the initial Contributor has attached the notice described
in Exhibit B to the Covered Software; or
(b) that the Covered Software was made available under the terms of
version 1.1 or earlier of the License, but not also under the
terms of a Secondary License.
1.6. "Executable Form"
means any form of the work other than Source Code Form.
1.7. "Larger Work"
means a work that combines Covered Software with other material, in
a separate file or files, that is not Covered Software.
1.8. "License"
means this document.
1.9. "Licensable"
means having the right to grant, to the maximum extent possible,
whether at the time of the initial grant or subsequently, any and
all of the rights conveyed by this License.
1.10. "Modifications"
means any of the following:
(a) any file in Source Code Form that results from an addition to,
deletion from, or modification of the contents of Covered
Software; or
(b) any new file in Source Code Form that contains any Covered
Software.
1.11. "Patent Claims" of a Contributor
means any patent claim(s), including without limitation, method,
process, and apparatus claims, in any patent Licensable by such
Contributor that would be infringed, but for the grant of the
License, by the making, using, selling, offering for sale, having
made, import, or transfer of either its Contributions or its
Contributor Version.
1.12. "Secondary License"
means either the GNU General Public License, Version 2.0, the GNU
Lesser General Public License, Version 2.1, the GNU Affero General
Public License, Version 3.0, or any later versions of those
licenses.
1.13. "Source Code Form"
means the form of the work preferred for making modifications.
1.14. "You" (or "Your")
means an individual or a legal entity exercising rights under this
License. For legal entities, "You" includes any entity that
controls, is controlled by, or is under common control with You. For
purposes of this definition, "control" means (a) the power, direct
or indirect, to cause the direction or management of such entity,
whether by contract or otherwise, or (b) ownership of more than
fifty percent (50%) of the outstanding shares or beneficial
ownership of such entity.
2. License Grants and Conditions
--------------------------------
2.1. Grants
Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license:
(a) under intellectual property rights (other than patent or trademark)
Licensable by such Contributor to use, reproduce, make available,
modify, display, perform, distribute, and otherwise exploit its
Contributions, either on an unmodified basis, with Modifications, or
as part of a Larger Work; and
(b) under Patent Claims of such Contributor to make, use, sell, offer
for sale, have made, import, and otherwise transfer either its
Contributions or its Contributor Version.
2.2. Effective Date
The licenses granted in Section 2.1 with respect to any Contribution
become effective for each Contribution on the date the Contributor first
distributes such Contribution.
2.3. Limitations on Grant Scope
The licenses granted in this Section 2 are the only rights granted under
this License. No additional rights or licenses will be implied from the
distribution or licensing of Covered Software under this License.
Notwithstanding Section 2.1(b) above, no patent license is granted by a
Contributor:
(a) for any code that a Contributor has removed from Covered Software;
or
(b) for infringements caused by: (i) Your and any other third party's
modifications of Covered Software, or (ii) the combination of its
Contributions with other software (except as part of its Contributor
Version); or
(c) under Patent Claims infringed by Covered Software in the absence of
its Contributions.
This License does not grant any rights in the trademarks, service marks,
or logos of any Contributor (except as may be necessary to comply with
the notice requirements in Section 3.4).
2.4. Subsequent Licenses
No Contributor makes additional grants as a result of Your choice to
distribute the Covered Software under a subsequent version of this
License (see Section 10.2) or under the terms of a Secondary License (if
permitted under the terms of Section 3.3).
2.5. Representation
Each Contributor represents that the Contributor believes its
Contributions are its original creation(s) or it has sufficient rights
to grant the rights to its Contributions conveyed by this License.
2.6. Fair Use
This License is not intended to limit any rights You have under
applicable copyright doctrines of fair use, fair dealing, or other
equivalents.
2.7. Conditions
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
in Section 2.1.
3. Responsibilities
-------------------
3.1. Distribution of Source Form
All distribution of Covered Software in Source Code Form, including any
Modifications that You create or to which You contribute, must be under
the terms of this License. You must inform recipients that the Source
Code Form of the Covered Software is governed by the terms of this
License, and how they can obtain a copy of this License. You may not
attempt to alter or restrict the recipients' rights in the Source Code
Form.
3.2. Distribution of Executable Form
If You distribute Covered Software in Executable Form then:
(a) such Covered Software must also be made available in Source Code
Form, as described in Section 3.1, and You must inform recipients of
the Executable Form how they can obtain a copy of such Source Code
Form by reasonable means in a timely manner, at a charge no more
than the cost of distribution to the recipient; and
(b) You may distribute such Executable Form under the terms of this
License, or sublicense it under different terms, provided that the
license for the Executable Form does not attempt to limit or alter
the recipients' rights in the Source Code Form under this License.
3.3. Distribution of a Larger Work
You may create and distribute a Larger Work under terms of Your choice,
provided that You also comply with the requirements of this License for
the Covered Software. If the Larger Work is a combination of Covered
Software with a work governed by one or more Secondary Licenses, and the
Covered Software is not Incompatible With Secondary Licenses, this
License permits You to additionally distribute such Covered Software
under the terms of such Secondary License(s), so that the recipient of
the Larger Work may, at their option, further distribute the Covered
Software under the terms of either this License or such Secondary
License(s).
3.4. Notices
You may not remove or alter the substance of any license notices
(including copyright notices, patent notices, disclaimers of warranty,
or limitations of liability) contained within the Source Code Form of
the Covered Software, except that You may alter any license notices to
the extent required to remedy known factual inaccuracies.
3.5. Application of Additional Terms
You may choose to offer, and to charge a fee for, warranty, support,
indemnity or liability obligations to one or more recipients of Covered
Software. However, You may do so only on Your own behalf, and not on
behalf of any Contributor. You must make it absolutely clear that any
such warranty, support, indemnity, or liability obligation is offered by
You alone, and You hereby agree to indemnify every Contributor for any
liability incurred by such Contributor as a result of warranty, support,
indemnity or liability terms You offer. You may include additional
disclaimers of warranty and limitations of liability specific to any
jurisdiction.
4. Inability to Comply Due to Statute or Regulation
---------------------------------------------------
If it is impossible for You to comply with any of the terms of this
License with respect to some or all of the Covered Software due to
statute, judicial order, or regulation then You must: (a) comply with
the terms of this License to the maximum extent possible; and (b)
describe the limitations and the code they affect. Such description must
be placed in a text file included with all distributions of the Covered
Software under this License. Except to the extent prohibited by statute
or regulation, such description must be sufficiently detailed for a
recipient of ordinary skill to be able to understand it.
5. Termination
--------------
5.1. The rights granted under this License will terminate automatically
if You fail to comply with any of its terms. However, if You become
compliant, then the rights granted under this License from a particular
Contributor are reinstated (a) provisionally, unless and until such
Contributor explicitly and finally terminates Your grants, and (b) on an
ongoing basis, if such Contributor fails to notify You of the
non-compliance by some reasonable means prior to 60 days after You have
come back into compliance. Moreover, Your grants from a particular
Contributor are reinstated on an ongoing basis if such Contributor
notifies You of the non-compliance by some reasonable means, this is the
first time You have received notice of non-compliance with this License
from such Contributor, and You become compliant prior to 30 days after
Your receipt of the notice.
5.2. If You initiate litigation against any entity by asserting a patent
infringement claim (excluding declaratory judgment actions,
counter-claims, and cross-claims) alleging that a Contributor Version
directly or indirectly infringes any patent, then the rights granted to
You by any and all Contributors for the Covered Software under Section
2.1 of this License shall terminate.
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
end user license agreements (excluding distributors and resellers) which
have been validly granted by You or Your distributors under this License
prior to termination shall survive termination.
************************************************************************
* *
* 6. Disclaimer of Warranty *
* ------------------------- *
* *
* Covered Software is provided under this License on an "as is" *
* basis, without warranty of any kind, either expressed, implied, or *
* statutory, including, without limitation, warranties that the *
* Covered Software is free of defects, merchantable, fit for a *
* particular purpose or non-infringing. The entire risk as to the *
* quality and performance of the Covered Software is with You. *
* Should any Covered Software prove defective in any respect, You *
* (not any Contributor) assume the cost of any necessary servicing, *
* repair, or correction. This disclaimer of warranty constitutes an *
* essential part of this License. No use of any Covered Software is *
* authorized under this License except under this disclaimer. *
* *
************************************************************************
************************************************************************
* *
* 7. Limitation of Liability *
* -------------------------- *
* *
* Under no circumstances and under no legal theory, whether tort *
* (including negligence), contract, or otherwise, shall any *
* Contributor, or anyone who distributes Covered Software as *
* permitted above, be liable to You for any direct, indirect, *
* special, incidental, or consequential damages of any character *
* including, without limitation, damages for lost profits, loss of *
* goodwill, work stoppage, computer failure or malfunction, or any *
* and all other commercial damages or losses, even if such party *
* shall have been informed of the possibility of such damages. This *
* limitation of liability shall not apply to liability for death or *
* personal injury resulting from such party's negligence to the *
* extent applicable law prohibits such limitation. Some *
* jurisdictions do not allow the exclusion or limitation of *
* incidental or consequential damages, so this exclusion and *
* limitation may not apply to You. *
* *
************************************************************************
8. Litigation
-------------
Any litigation relating to this License may be brought only in the
courts of a jurisdiction where the defendant maintains its principal
place of business and such litigation shall be governed by laws of that
jurisdiction, without reference to its conflict-of-law provisions.
Nothing in this Section shall prevent a party's ability to bring
cross-claims or counter-claims.
9. Miscellaneous
----------------
This License represents the complete agreement concerning the subject
matter hereof. If any provision of this License is held to be
unenforceable, such provision shall be reformed only to the extent
necessary to make it enforceable. Any law or regulation which provides
that the language of a contract shall be construed against the drafter
shall not be used to construe this License against a Contributor.
10. Versions of the License
---------------------------
10.1. New Versions
Mozilla Foundation is the license steward. Except as provided in Section
10.3, no one other than the license steward has the right to modify or
publish new versions of this License. Each version will be given a
distinguishing version number.
10.2. Effect of New Versions
You may distribute the Covered Software under the terms of the version
of the License under which You originally received the Covered Software,
or under the terms of any subsequent version published by the license
steward.
10.3. Modified Versions
If you create software not governed by this License, and you want to
create a new license for such software, you may create and use a
modified version of this License if you rename the license and remove
any references to the name of the license steward (except to note that
such modified license differs from this License).
10.4. Distributing Source Code Form that is Incompatible With Secondary
Licenses
If You choose to distribute Source Code Form that is Incompatible With
Secondary Licenses under the terms of this version of the License, the
notice described in Exhibit B of this License must be attached.
Exhibit A - Source Code Form License Notice
-------------------------------------------
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular
file, then You may include the notice in a location (such as a LICENSE
file in a relevant directory) where a recipient would be likely to look
for such a notice.
You may add additional accurate notices of copyright ownership.
Exhibit B - "Incompatible With Secondary Licenses" Notice
---------------------------------------------------------
This Source Code Form is "Incompatible With Secondary Licenses", as
defined by the Mozilla Public License, v. 2.0.

View File

@ -1 +1 @@
NSS_3_14_BETA1
NSS_3_14_RC1

View File

@ -1 +1 @@
NSS_3_14_BETA1
NSS_3_14_RC1

View File

@ -2185,6 +2185,7 @@ dsaOp(bltestCipherInfo *cipherInfo)
}
TIMEFINISH(cipherInfo->optime, 1.0);
}
cipherInfo->output.buf.len = cipherInfo->output.pBuf.len;
bltestCopyIO(cipherInfo->arena, &cipherInfo->params.dsa.sig,
&cipherInfo->output);
} else {

View File

@ -0,0 +1,47 @@
# Raeburn Standards Track [Page 12]
#
# RFC 3962 AES Encryption for Kerberos 5 February 2005
#
# Some test vectors for CBC with ciphertext stealing, using an initial
# vector of all-zero.
#
# Original Test vectors were for AES CTS-3 (Kerberos). These test vectors have been modified for AES CTS-1 (NIST)
#
Key: 63 68 69 63 6b 65 6e 20 74 65 72 69 79 61 6b 69
IV: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Input: 49 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 68 65 20
Output: 97 c6 35 35 68 f2 bf 8c b4 d8 a5 80 36 2d a7 ff 7f
Next IV: c6 35 35 68 f2 bf 8c b4 d8 a5 80 36 2d a7 ff 7f
Key: 63 68 69 63 6b 65 6e 20 74 65 72 69 79 61 6b 69
IV: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Input: 49 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 68 65 20 47 65 6e 65 72 61 6c 20 47 61 75 27 73 20
Output: 97 68 72 68 d6 ec cc c0 c0 7b 25 e2 5e cf e5 fc 00 78 3e 0e fd b2 c1 d4 45 d4 c8 ef f7 ed 22
Next IV: fc 00 78 3e 0e fd b2 c1 d4 45 d4 c8 ef f7 ed 22
Key: 63 68 69 63 6b 65 6e 20 74 65 72 69 79 61 6b 69
IV: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Input: 49 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 68 65 20 47 65 6e 65 72 61 6c 20 47 61 75 27 73 20 43
Output: 97 68 72 68 d6 ec cc c0 c0 7b 25 e2 5e cf e5 84 39 31 25 23 a7 86 62 d5 be 7f cb cc 98 eb f5 a8
Next IV: 39 31 25 23 a7 86 62 d5 be 7f cb cc 98 eb f5 a8
Key: 63 68 69 63 6b 65 6e 20 74 65 72 69 79 61 6b 69
IV: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Input: 49 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 68 65 20 47 65 6e 65 72 61 6c 20 47 61 75 27 73 20 43 68 69 63 6b 65 6e 2c 20 70 6c 65 61 73 65 2c
Output: 97 68 72 68 d6 ec cc c0 c0 7b 25 e2 5e cf e5 84 39 31 25 23 a7 86 62 d5 be 7f cb cc 98 eb f5 b3 ff fd 94 0c 16 a1 8c 1b 55 49 d2 f8 38 02 9e
Next IV: b3 ff fd 94 0c 16 a1 8c 1b 55 49 d2 f8 38 02 9e
Key: 63 68 69 63 6b 65 6e 20 74 65 72 69 79 61 6b 69
IV: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Input: 49 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 68 65 20 47 65 6e 65 72 61 6c 20 47 61 75 27 73 20 43 68 69 63 6b 65 6e 2c 20 70 6c 65 61 73 65 2c 20
Output: 97 68 72 68 d6 ec cc c0 c0 7b 25 e2 5e cf e5 84 39 31 25 23 a7 86 62 d5 be 7f cb cc 98 eb f5 a8 9d ad 8b bb 96 c4 cd c0 3b c1 03 e1 a1 94 bb d8
Next IV: 9d ad 8b bb 96 c4 cd c0 3b c1 03 e1 a1 94 bb d8
Key: 63 68 69 63 6b 65 6e 20 74 65 72 69 79 61 6b 69
IV: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Input: 49 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 68 65 20 47 65 6e 65 72 61 6c 20 47 61 75 27 73 20 43 68 69 63 6b 65 6e 2c 20 70 6c 65 61 73 65 2c 20 61 6e 64 20 77 6f 6e 74 6f 6e 20 73 6f 75 70 2e
Output: 97 68 72 68 d6 ec cc c0 c0 7b 25 e2 5e cf e5 84 39 31 25 23 a7 86 62 d5 be 7f cb cc 98 eb f5 a8 9d ad 8b bb 96 c4 cd c0 3b c1 03 e1 a1 94 bb d8 48 07 ef e8 36 ee 89 a5 26 73 0d bc 2f 7b c8 40
Next IV: 48 07 ef e8 36 ee 89 a5 26 73 0d bc 2f 7b c8 40

View File

@ -0,0 +1,6 @@
Key: 63 68 69 63 6b 65 6e 20 74 65 72 69 79 61 6b 69
IV: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Input: 49 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 68 65 20
Output: 97 c6 35 35 68 f2 bf 8c b4 d8 a5 80 36 2d a7 ff 7f
Next IV: c6 35 35 68 f2 bf 8c b4 d8 a5 80 36 2d a7 ff 7f

View File

@ -0,0 +1,6 @@
Key: 63 68 69 63 6b 65 6e 20 74 65 72 69 79 61 6b 69
IV: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Input: 49 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 68 65 20 47 65 6e 65 72 61 6c 20 47 61 75 27 73 20
Output: 97 68 72 68 d6 ec cc c0 c0 7b 25 e2 5e cf e5 fc 00 78 3e 0e fd b2 c1 d4 45 d4 c8 ef f7 ed 22
Next IV: fc 00 78 3e 0e fd b2 c1 d4 45 d4 c8 ef f7 ed 22

View File

@ -0,0 +1,6 @@
Key: 63 68 69 63 6b 65 6e 20 74 65 72 69 79 61 6b 69
IV: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Input: 49 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 68 65 20 47 65 6e 65 72 61 6c 20 47 61 75 27 73 20 43
Output: 97 68 72 68 d6 ec cc c0 c0 7b 25 e2 5e cf e5 84 39 31 25 23 a7 86 62 d5 be 7f cb cc 98 eb f5 a8
Next IV: 39 31 25 23 a7 86 62 d5 be 7f cb cc 98 eb f5 a8

View File

@ -0,0 +1,6 @@
Key: 63 68 69 63 6b 65 6e 20 74 65 72 69 79 61 6b 69
IV: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Input: 49 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 68 65 20 47 65 6e 65 72 61 6c 20 47 61 75 27 73 20 43 68 69 63 6b 65 6e 2c 20 70 6c 65 61 73 65 2c
Output: 97 68 72 68 d6 ec cc c0 c0 7b 25 e2 5e cf e5 84 39 31 25 23 a7 86 62 d5 be 7f cb cc 98 eb f5 b3 ff fd 94 0c 16 a1 8c 1b 55 49 d2 f8 38 02 9e
Next IV: b3 ff fd 94 0c 16 a1 8c 1b 55 49 d2 f8 38 02 9e

View File

@ -0,0 +1,6 @@
Key: 63 68 69 63 6b 65 6e 20 74 65 72 69 79 61 6b 69
IV: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Input: 49 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 68 65 20 47 65 6e 65 72 61 6c 20 47 61 75 27 73 20 43 68 69 63 6b 65 6e 2c 20 70 6c 65 61 73 65 2c 20
Output: 97 68 72 68 d6 ec cc c0 c0 7b 25 e2 5e cf e5 84 39 31 25 23 a7 86 62 d5 be 7f cb cc 98 eb f5 a8 9d ad 8b bb 96 c4 cd c0 3b c1 03 e1 a1 94 bb d8
Next IV: 9d ad 8b bb 96 c4 cd c0 3b c1 03 e1 a1 94 bb d8

View File

@ -0,0 +1,6 @@
Key: 63 68 69 63 6b 65 6e 20 74 65 72 69 79 61 6b 69
IV: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Input: 49 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 68 65 20 47 65 6e 65 72 61 6c 20 47 61 75 27 73 20 43 68 69 63 6b 65 6e 2c 20 70 6c 65 61 73 65 2c 20 61 6e 64 20 77 6f 6e 74 6f 6e 20 73 6f 75 70 2e
Output: 97 68 72 68 d6 ec cc c0 c0 7b 25 e2 5e cf e5 84 39 31 25 23 a7 86 62 d5 be 7f cb cc 98 eb f5 a8 9d ad 8b bb 96 c4 cd c0 3b c1 03 e1 a1 94 bb d8 48 07 ef e8 36 ee 89 a5 26 73 0d bc 2f 7b c8 40
Next IV: 48 07 ef e8 36 ee 89 a5 26 73 0d bc 2f 7b c8 40

View File

@ -0,0 +1 @@
l8Y1NWjyv4y02KWANi2n/38=

View File

@ -0,0 +1 @@
l2hyaNbszMDAeyXiXs/l/AB4Pg79ssHURdTI7/ftIg==

View File

@ -0,0 +1 @@
l2hyaNbszMDAeyXiXs/lhDkxJSOnhmLVvn/LzJjr9ag=

View File

@ -0,0 +1 @@
l2hyaNbszMDAeyXiXs/lhDkxJSOnhmLVvn/LzJjr9bP//ZQMFqGMG1VJ0vg4Ap4=

View File

@ -0,0 +1 @@
l2hyaNbszMDAeyXiXs/lhDkxJSOnhmLVvn/LzJjr9aidrYu7lsTNwDvBA+GhlLvY

View File

@ -0,0 +1,2 @@
l2hyaNbszMDAeyXiXs/lhDkxJSOnhmLVvn/LzJjr9aidrYu7lsTNwDvBA+GhlLvY
SAfv6DbuiaUmcw28L3vIQA==

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
chicken teriyaki

View File

@ -0,0 +1 @@
chicken teriyaki

View File

@ -0,0 +1 @@
chicken teriyaki

View File

@ -0,0 +1 @@
chicken teriyaki

View File

@ -0,0 +1 @@
chicken teriyaki

View File

@ -0,0 +1 @@
chicken teriyaki

View File

@ -0,0 +1,9 @@
#!/bin/sh
for i in 0 1 2 3 4 5
do
file="aes_cts_$i.txt"
grep "Key" $file | sed -e 's;Key:;;' | hex > key$i
grep "IV" $file | sed -e 's;IV:;;' | hex > iv$i
grep "Input" $file | sed -e 's;Input:;;' | hex > plaintext$i
grep "Output" $file | sed -e 's;Output:;;' | hex | btoa > ciphertext$i
done

View File

@ -0,0 +1 @@
6

View File

@ -0,0 +1 @@
I would like the

View File

@ -0,0 +1 @@
I would like the General Gau's

View File

@ -0,0 +1 @@
I would like the General Gau's C

View File

@ -0,0 +1 @@
I would like the General Gau's Chicken, please,

View File

@ -0,0 +1 @@
I would like the General Gau's Chicken, please,

View File

@ -0,0 +1 @@
I would like the General Gau's Chicken, please, and wonton soup.

View File

@ -3,7 +3,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifdef DEBUG
static const char CVS_ID[] = "@(#) $RCSfile: certdata.c,v $ $Revision: 1.89 $ $Date: 2012/09/21 23:12:31 $""; @(#) $RCSfile: certdata.c,v $ $Revision: 1.89 $ $Date: 2012/09/21 23:12:31 $";
static const char CVS_ID[] = "@(#) $RCSfile: certdata.c,v $ $Revision: 1.90 $ $Date: 2012/10/18 16:26:52 $""; @(#) $RCSfile: certdata.c,v $ $Revision: 1.90 $ $Date: 2012/10/18 16:26:52 $";
#endif /* DEBUG */
#ifndef BUILTINS_H
@ -1084,6 +1084,24 @@ static const CK_ATTRIBUTE_TYPE nss_builtins_types_352 [] = {
static const CK_ATTRIBUTE_TYPE nss_builtins_types_353 [] = {
CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING, CKA_TRUST_STEP_UP_APPROVED
};
static const CK_ATTRIBUTE_TYPE nss_builtins_types_354 [] = {
CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE
};
static const CK_ATTRIBUTE_TYPE nss_builtins_types_355 [] = {
CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING, CKA_TRUST_STEP_UP_APPROVED
};
static const CK_ATTRIBUTE_TYPE nss_builtins_types_356 [] = {
CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE
};
static const CK_ATTRIBUTE_TYPE nss_builtins_types_357 [] = {
CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING, CKA_TRUST_STEP_UP_APPROVED
};
static const CK_ATTRIBUTE_TYPE nss_builtins_types_358 [] = {
CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE
};
static const CK_ATTRIBUTE_TYPE nss_builtins_types_359 [] = {
CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING, CKA_TRUST_STEP_UP_APPROVED
};
#ifdef DEBUG
static const NSSItem nss_builtins_items_0 [] = {
{ (void *)&cko_data, (PRUint32)sizeof(CK_OBJECT_CLASS) },
@ -1092,7 +1110,7 @@ static const NSSItem nss_builtins_items_0 [] = {
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)"CVS ID", (PRUint32)7 },
{ (void *)"NSS", (PRUint32)4 },
{ (void *)"@(#) $RCSfile: certdata.c,v $ $Revision: 1.89 $ $Date: 2012/09/21 23:12:31 $""; @(#) $RCSfile: certdata.c,v $ $Revision: 1.89 $ $Date: 2012/09/21 23:12:31 $", (PRUint32)160 }
{ (void *)"@(#) $RCSfile: certdata.c,v $ $Revision: 1.90 $ $Date: 2012/10/18 16:26:52 $""; @(#) $RCSfile: certdata.c,v $ $Revision: 1.90 $ $Date: 2012/10/18 16:26:52 $", (PRUint32)160 }
};
#endif /* DEBUG */
static const NSSItem nss_builtins_items_1 [] = {
@ -23607,6 +23625,392 @@ static const NSSItem nss_builtins_items_353 [] = {
{ (void *)&ckt_nss_must_verify_trust, (PRUint32)sizeof(CK_TRUST) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
};
static const NSSItem nss_builtins_items_354 [] = {
{ (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
{ (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)"TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı", (PRUint32)55 },
{ (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) },
{ (void *)"\060\201\277\061\077\060\075\006\003\125\004\003\014\066\124\303"
"\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157"
"\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151"
"\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304"
"\261\163\304\261\061\013\060\011\006\003\125\004\006\023\002\124"
"\122\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141"
"\162\141\061\136\060\134\006\003\125\004\012\014\125\124\303\234"
"\122\113\124\122\125\123\124\040\102\151\154\147\151\040\304\260"
"\154\145\164\151\305\237\151\155\040\166\145\040\102\151\154\151"
"\305\237\151\155\040\107\303\274\166\145\156\154\151\304\237\151"
"\040\110\151\172\155\145\164\154\145\162\151\040\101\056\305\236"
"\056\040\050\143\051\040\101\162\141\154\304\261\153\040\062\060"
"\060\067"
, (PRUint32)194 },
{ (void *)"0", (PRUint32)2 },
{ (void *)"\060\201\277\061\077\060\075\006\003\125\004\003\014\066\124\303"
"\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157"
"\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151"
"\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304"
"\261\163\304\261\061\013\060\011\006\003\125\004\006\023\002\124"
"\122\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141"
"\162\141\061\136\060\134\006\003\125\004\012\014\125\124\303\234"
"\122\113\124\122\125\123\124\040\102\151\154\147\151\040\304\260"
"\154\145\164\151\305\237\151\155\040\166\145\040\102\151\154\151"
"\305\237\151\155\040\107\303\274\166\145\156\154\151\304\237\151"
"\040\110\151\172\155\145\164\154\145\162\151\040\101\056\305\236"
"\056\040\050\143\051\040\101\162\141\154\304\261\153\040\062\060"
"\060\067"
, (PRUint32)194 },
{ (void *)"\002\001\001"
, (PRUint32)3 },
{ (void *)"\060\202\004\075\060\202\003\045\240\003\002\001\002\002\001\001"
"\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060"
"\201\277\061\077\060\075\006\003\125\004\003\014\066\124\303\234"
"\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157\156"
"\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172"
"\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261"
"\163\304\261\061\013\060\011\006\003\125\004\006\023\002\124\122"
"\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141\162"
"\141\061\136\060\134\006\003\125\004\012\014\125\124\303\234\122"
"\113\124\122\125\123\124\040\102\151\154\147\151\040\304\260\154"
"\145\164\151\305\237\151\155\040\166\145\040\102\151\154\151\305"
"\237\151\155\040\107\303\274\166\145\156\154\151\304\237\151\040"
"\110\151\172\155\145\164\154\145\162\151\040\101\056\305\236\056"
"\040\050\143\051\040\101\162\141\154\304\261\153\040\062\060\060"
"\067\060\036\027\015\060\067\061\062\062\065\061\070\063\067\061"
"\071\132\027\015\061\067\061\062\062\062\061\070\063\067\061\071"
"\132\060\201\277\061\077\060\075\006\003\125\004\003\014\066\124"
"\303\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162"
"\157\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110"
"\151\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143"
"\304\261\163\304\261\061\013\060\011\006\003\125\004\006\023\002"
"\124\122\061\017\060\015\006\003\125\004\007\014\006\101\156\153"
"\141\162\141\061\136\060\134\006\003\125\004\012\014\125\124\303"
"\234\122\113\124\122\125\123\124\040\102\151\154\147\151\040\304"
"\260\154\145\164\151\305\237\151\155\040\166\145\040\102\151\154"
"\151\305\237\151\155\040\107\303\274\166\145\156\154\151\304\237"
"\151\040\110\151\172\155\145\164\154\145\162\151\040\101\056\305"
"\236\056\040\050\143\051\040\101\162\141\154\304\261\153\040\062"
"\060\060\067\060\202\001\042\060\015\006\011\052\206\110\206\367"
"\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002"
"\202\001\001\000\253\267\076\012\214\310\245\130\025\346\212\357"
"\047\075\112\264\350\045\323\315\063\302\040\334\031\356\210\077"
"\115\142\360\335\023\167\217\141\251\052\265\324\362\271\061\130"
"\051\073\057\077\152\234\157\163\166\045\356\064\040\200\356\352"
"\267\360\304\012\315\053\206\224\311\343\140\261\104\122\262\132"
"\051\264\221\227\203\330\267\246\024\057\051\111\242\363\005\006"
"\373\264\117\332\241\154\232\146\237\360\103\011\312\352\162\217"
"\353\000\327\065\071\327\126\027\107\027\060\364\276\277\077\302"
"\150\257\066\100\301\251\364\251\247\350\020\153\010\212\367\206"
"\036\334\232\052\025\006\366\243\360\364\340\307\024\324\121\177"
"\317\264\333\155\257\107\226\027\233\167\161\330\247\161\235\044"
"\014\366\224\077\205\061\022\117\272\356\116\202\270\271\076\217"
"\043\067\136\314\242\252\165\367\030\157\011\323\256\247\124\050"
"\064\373\341\340\073\140\175\240\276\171\211\206\310\237\055\371"
"\012\113\304\120\242\347\375\171\026\307\172\013\030\317\316\114"
"\357\175\326\007\157\230\361\257\261\301\172\327\201\065\270\252"
"\027\264\340\313\002\003\001\000\001\243\102\060\100\060\035\006"
"\003\125\035\016\004\026\004\024\051\305\220\253\045\257\021\344"
"\141\277\243\377\210\141\221\346\016\376\234\201\060\016\006\003"
"\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003"
"\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006"
"\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001"
"\000\020\015\332\370\072\354\050\321\024\225\202\261\022\054\121"
"\172\101\045\066\114\237\354\077\037\204\235\145\124\134\250\026"
"\002\100\372\156\032\067\204\357\162\235\206\012\125\235\126\050"
"\254\146\054\320\072\126\223\064\007\045\255\010\260\217\310\017"
"\011\131\312\235\230\034\345\124\370\271\105\177\152\227\157\210"
"\150\115\112\006\046\067\210\002\016\266\306\326\162\231\316\153"
"\167\332\142\061\244\126\037\256\137\215\167\332\135\366\210\374"
"\032\331\236\265\201\360\062\270\343\210\320\234\363\152\240\271"
"\233\024\131\065\066\117\317\363\216\136\135\027\255\025\225\330"
"\335\262\325\025\156\000\116\263\113\317\146\224\344\340\315\265"
"\005\332\143\127\213\345\263\252\333\300\056\034\220\104\333\032"
"\135\030\244\356\276\004\133\231\325\161\137\125\145\144\142\325"
"\242\233\004\131\206\310\142\167\347\174\202\105\152\075\027\277"
"\354\235\165\014\256\243\157\132\323\057\230\066\364\360\365\031"
"\253\021\135\310\246\343\052\130\152\102\011\303\275\222\046\146"
"\062\015\135\010\125\164\377\214\230\320\012\246\204\152\321\071"
"\175"
, (PRUint32)1089 }
};
static const NSSItem nss_builtins_items_355 [] = {
{ (void *)&cko_nss_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
{ (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)"TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı", (PRUint32)55 },
{ (void *)"\361\177\157\266\061\334\231\343\243\310\177\376\034\361\201\020"
"\210\331\140\063"
, (PRUint32)20 },
{ (void *)"\053\160\040\126\206\202\240\030\310\007\123\022\050\160\041\162"
, (PRUint32)16 },
{ (void *)"\060\201\277\061\077\060\075\006\003\125\004\003\014\066\124\303"
"\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157"
"\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151"
"\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304"
"\261\163\304\261\061\013\060\011\006\003\125\004\006\023\002\124"
"\122\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141"
"\162\141\061\136\060\134\006\003\125\004\012\014\125\124\303\234"
"\122\113\124\122\125\123\124\040\102\151\154\147\151\040\304\260"
"\154\145\164\151\305\237\151\155\040\166\145\040\102\151\154\151"
"\305\237\151\155\040\107\303\274\166\145\156\154\151\304\237\151"
"\040\110\151\172\155\145\164\154\145\162\151\040\101\056\305\236"
"\056\040\050\143\051\040\101\162\141\154\304\261\153\040\062\060"
"\060\067"
, (PRUint32)194 },
{ (void *)"\002\001\001"
, (PRUint32)3 },
{ (void *)&ckt_nss_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
{ (void *)&ckt_nss_must_verify_trust, (PRUint32)sizeof(CK_TRUST) },
{ (void *)&ckt_nss_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
};
static const NSSItem nss_builtins_items_356 [] = {
{ (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
{ (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)"T-TeleSec GlobalRoot Class 3", (PRUint32)29 },
{ (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) },
{ (void *)"\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105"
"\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163"
"\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040"
"\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060"
"\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155"
"\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045"
"\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123"
"\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154"
"\141\163\163\040\063"
, (PRUint32)133 },
{ (void *)"0", (PRUint32)2 },
{ (void *)"\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105"
"\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163"
"\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040"
"\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060"
"\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155"
"\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045"
"\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123"
"\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154"
"\141\163\163\040\063"
, (PRUint32)133 },
{ (void *)"\002\001\001"
, (PRUint32)3 },
{ (void *)"\060\202\003\303\060\202\002\253\240\003\002\001\002\002\001\001"
"\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060"
"\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105\061"
"\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163\164"
"\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040\123"
"\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060\035"
"\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155\163"
"\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045\060"
"\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123\145"
"\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154\141"
"\163\163\040\063\060\036\027\015\060\070\061\060\060\061\061\060"
"\062\071\065\066\132\027\015\063\063\061\060\060\061\062\063\065"
"\071\065\071\132\060\201\202\061\013\060\011\006\003\125\004\006"
"\023\002\104\105\061\053\060\051\006\003\125\004\012\014\042\124"
"\055\123\171\163\164\145\155\163\040\105\156\164\145\162\160\162"
"\151\163\145\040\123\145\162\166\151\143\145\163\040\107\155\142"
"\110\061\037\060\035\006\003\125\004\013\014\026\124\055\123\171"
"\163\164\145\155\163\040\124\162\165\163\164\040\103\145\156\164"
"\145\162\061\045\060\043\006\003\125\004\003\014\034\124\055\124"
"\145\154\145\123\145\143\040\107\154\157\142\141\154\122\157\157"
"\164\040\103\154\141\163\163\040\063\060\202\001\042\060\015\006"
"\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017"
"\000\060\202\001\012\002\202\001\001\000\275\165\223\360\142\042"
"\157\044\256\340\172\166\254\175\275\331\044\325\270\267\374\315"
"\360\102\340\353\170\210\126\136\233\232\124\035\115\014\212\366"
"\323\317\160\364\122\265\330\223\004\343\106\206\161\101\112\053"
"\360\052\054\125\003\326\110\303\340\071\070\355\362\134\074\077"
"\104\274\223\075\141\253\116\315\015\276\360\040\047\130\016\104"
"\177\004\032\207\245\327\226\024\066\220\320\111\173\241\165\373"
"\032\153\163\261\370\316\251\011\054\362\123\325\303\024\104\270"
"\206\245\366\213\053\071\332\243\063\124\331\372\162\032\367\042"
"\025\034\210\221\153\177\146\345\303\152\200\260\044\363\337\206"
"\105\210\375\031\177\165\207\037\037\261\033\012\163\044\133\271"
"\145\340\054\124\310\140\323\146\027\077\341\314\124\063\163\221"
"\002\072\246\177\173\166\071\242\037\226\266\070\256\265\310\223"
"\164\035\236\271\264\345\140\235\057\126\321\340\353\136\133\114"
"\022\160\014\154\104\040\253\021\330\364\031\366\322\234\122\067"
"\347\372\266\302\061\073\112\324\024\231\255\307\032\365\135\137"
"\372\007\270\174\015\037\326\203\036\263\002\003\001\000\001\243"
"\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060"
"\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004"
"\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\265"
"\003\367\166\073\141\202\152\022\252\030\123\353\003\041\224\277"
"\376\316\312\060\015\006\011\052\206\110\206\367\015\001\001\013"
"\005\000\003\202\001\001\000\126\075\357\224\325\275\332\163\262"
"\130\276\256\220\255\230\047\227\376\001\261\260\122\000\270\115"
"\344\033\041\164\033\176\300\356\136\151\052\045\257\134\326\035"
"\332\322\171\311\363\227\051\340\206\207\336\004\131\017\361\131"
"\324\144\205\113\231\257\045\004\036\311\106\251\227\336\202\262"
"\033\160\237\234\366\257\161\061\335\173\005\245\054\323\271\312"
"\107\366\312\362\366\347\255\271\110\077\274\026\267\301\155\364"
"\352\011\257\354\363\265\347\005\236\246\036\212\123\121\326\223"
"\201\314\164\223\366\271\332\246\045\005\164\171\132\176\100\076"
"\202\113\046\021\060\156\341\077\101\307\107\000\065\325\365\323"
"\367\124\076\201\075\332\111\152\232\263\357\020\075\346\353\157"
"\321\310\042\107\313\314\317\001\061\222\331\030\343\042\276\011"
"\036\032\076\132\262\344\153\014\124\172\175\103\116\270\211\245"
"\173\327\242\075\226\206\314\362\046\064\055\152\222\235\232\032"
"\320\060\342\135\116\004\260\137\213\040\176\167\301\075\225\202"
"\321\106\232\073\074\170\270\157\241\320\015\144\242\170\036\051"
"\116\223\303\244\124\024\133"
, (PRUint32)967 }
};
static const NSSItem nss_builtins_items_357 [] = {
{ (void *)&cko_nss_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
{ (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)"T-TeleSec GlobalRoot Class 3", (PRUint32)29 },
{ (void *)"\125\246\162\076\313\362\354\315\303\043\164\160\031\235\052\276"
"\021\343\201\321"
, (PRUint32)20 },
{ (void *)"\312\373\100\250\116\071\222\212\035\376\216\057\304\047\352\357"
, (PRUint32)16 },
{ (void *)"\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105"
"\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163"
"\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040"
"\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060"
"\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155"
"\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045"
"\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123"
"\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154"
"\141\163\163\040\063"
, (PRUint32)133 },
{ (void *)"\002\001\001"
, (PRUint32)3 },
{ (void *)&ckt_nss_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
{ (void *)&ckt_nss_must_verify_trust, (PRUint32)sizeof(CK_TRUST) },
{ (void *)&ckt_nss_must_verify_trust, (PRUint32)sizeof(CK_TRUST) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
};
static const NSSItem nss_builtins_items_358 [] = {
{ (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
{ (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)"EE Certification Centre Root CA", (PRUint32)32 },
{ (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) },
{ (void *)"\060\165\061\013\060\011\006\003\125\004\006\023\002\105\105\061"
"\042\060\040\006\003\125\004\012\014\031\101\123\040\123\145\162"
"\164\151\146\151\164\163\145\145\162\151\155\151\163\153\145\163"
"\153\165\163\061\050\060\046\006\003\125\004\003\014\037\105\105"
"\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\103"
"\145\156\164\162\145\040\122\157\157\164\040\103\101\061\030\060"
"\026\006\011\052\206\110\206\367\015\001\011\001\026\011\160\153"
"\151\100\163\153\056\145\145"
, (PRUint32)119 },
{ (void *)"0", (PRUint32)2 },
{ (void *)"\060\165\061\013\060\011\006\003\125\004\006\023\002\105\105\061"
"\042\060\040\006\003\125\004\012\014\031\101\123\040\123\145\162"
"\164\151\146\151\164\163\145\145\162\151\155\151\163\153\145\163"
"\153\165\163\061\050\060\046\006\003\125\004\003\014\037\105\105"
"\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\103"
"\145\156\164\162\145\040\122\157\157\164\040\103\101\061\030\060"
"\026\006\011\052\206\110\206\367\015\001\011\001\026\011\160\153"
"\151\100\163\153\056\145\145"
, (PRUint32)119 },
{ (void *)"\002\020\124\200\371\240\163\355\077\000\114\312\211\330\343\161"
"\346\112"
, (PRUint32)18 },
{ (void *)"\060\202\004\003\060\202\002\353\240\003\002\001\002\002\020\124"
"\200\371\240\163\355\077\000\114\312\211\330\343\161\346\112\060"
"\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\165"
"\061\013\060\011\006\003\125\004\006\023\002\105\105\061\042\060"
"\040\006\003\125\004\012\014\031\101\123\040\123\145\162\164\151"
"\146\151\164\163\145\145\162\151\155\151\163\153\145\163\153\165"
"\163\061\050\060\046\006\003\125\004\003\014\037\105\105\040\103"
"\145\162\164\151\146\151\143\141\164\151\157\156\040\103\145\156"
"\164\162\145\040\122\157\157\164\040\103\101\061\030\060\026\006"
"\011\052\206\110\206\367\015\001\011\001\026\011\160\153\151\100"
"\163\153\056\145\145\060\042\030\017\062\060\061\060\061\060\063"
"\060\061\060\061\060\063\060\132\030\017\062\060\063\060\061\062"
"\061\067\062\063\065\071\065\071\132\060\165\061\013\060\011\006"
"\003\125\004\006\023\002\105\105\061\042\060\040\006\003\125\004"
"\012\014\031\101\123\040\123\145\162\164\151\146\151\164\163\145"
"\145\162\151\155\151\163\153\145\163\153\165\163\061\050\060\046"
"\006\003\125\004\003\014\037\105\105\040\103\145\162\164\151\146"
"\151\143\141\164\151\157\156\040\103\145\156\164\162\145\040\122"
"\157\157\164\040\103\101\061\030\060\026\006\011\052\206\110\206"
"\367\015\001\011\001\026\011\160\153\151\100\163\153\056\145\145"
"\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001"
"\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001"
"\000\310\040\300\354\340\305\113\253\007\170\225\363\104\356\373"
"\013\014\377\164\216\141\273\261\142\352\043\330\253\241\145\062"
"\172\353\216\027\117\226\330\012\173\221\242\143\154\307\214\114"
"\056\171\277\251\005\374\151\134\225\215\142\371\271\160\355\303"
"\121\175\320\223\346\154\353\060\113\341\274\175\277\122\233\316"
"\156\173\145\362\070\261\300\242\062\357\142\262\150\340\141\123"
"\301\066\225\377\354\224\272\066\256\234\034\247\062\017\345\174"
"\264\306\157\164\375\173\030\350\254\127\355\006\040\113\062\060"
"\130\133\375\315\250\346\241\374\160\274\216\222\163\333\227\247"
"\174\041\256\075\301\365\110\207\154\047\275\237\045\164\201\125"
"\260\367\165\366\075\244\144\153\326\117\347\316\100\255\017\335"
"\062\323\274\212\022\123\230\311\211\373\020\035\115\176\315\176"
"\037\126\015\041\160\205\366\040\203\037\366\272\037\004\217\352"
"\167\210\065\304\377\352\116\241\213\115\077\143\033\104\303\104"
"\324\045\166\312\267\215\327\036\112\146\144\315\134\305\234\203"
"\341\302\010\210\232\354\116\243\361\076\034\054\331\154\035\241"
"\113\002\003\001\000\001\243\201\212\060\201\207\060\017\006\003"
"\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006"
"\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006"
"\003\125\035\016\004\026\004\024\022\362\132\076\352\126\034\277"
"\315\006\254\361\361\045\311\251\113\324\024\231\060\105\006\003"
"\125\035\045\004\076\060\074\006\010\053\006\001\005\005\007\003"
"\002\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001"
"\005\005\007\003\003\006\010\053\006\001\005\005\007\003\004\006"
"\010\053\006\001\005\005\007\003\010\006\010\053\006\001\005\005"
"\007\003\011\060\015\006\011\052\206\110\206\367\015\001\001\005"
"\005\000\003\202\001\001\000\173\366\344\300\015\252\031\107\267"
"\115\127\243\376\255\273\261\152\325\017\236\333\344\143\305\216"
"\241\120\126\223\226\270\070\300\044\042\146\274\123\024\141\225"
"\277\320\307\052\226\071\077\175\050\263\020\100\041\152\304\257"
"\260\122\167\030\341\226\330\126\135\343\335\066\136\035\247\120"
"\124\240\305\052\344\252\214\224\212\117\235\065\377\166\244\006"
"\023\221\242\242\175\000\104\077\125\323\202\074\032\325\133\274"
"\126\114\042\056\106\103\212\044\100\055\363\022\270\073\160\032"
"\244\226\271\032\257\207\101\032\152\030\015\006\117\307\076\156"
"\271\051\115\015\111\211\021\207\062\133\346\113\004\310\344\134"
"\346\164\163\224\135\026\230\023\225\376\373\333\261\104\345\072"
"\160\254\067\153\346\263\063\162\050\311\263\127\240\366\002\026"
"\210\006\013\266\246\113\040\050\324\336\075\213\255\067\005\123"
"\164\376\156\314\274\103\027\161\136\371\305\314\032\251\141\356"
"\367\166\014\363\162\364\162\255\317\162\002\066\007\107\317\357"
"\031\120\211\140\314\351\044\225\017\302\313\035\362\157\166\220"
"\307\314\165\301\226\305\235"
, (PRUint32)1031 }
};
static const NSSItem nss_builtins_items_359 [] = {
{ (void *)&cko_nss_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
{ (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
{ (void *)"EE Certification Centre Root CA", (PRUint32)32 },
{ (void *)"\311\250\271\347\125\200\136\130\343\123\167\247\045\353\257\303"
"\173\047\314\327"
, (PRUint32)20 },
{ (void *)"\103\136\210\324\175\032\112\176\375\204\056\122\353\001\324\157"
, (PRUint32)16 },
{ (void *)"\060\165\061\013\060\011\006\003\125\004\006\023\002\105\105\061"
"\042\060\040\006\003\125\004\012\014\031\101\123\040\123\145\162"
"\164\151\146\151\164\163\145\145\162\151\155\151\163\153\145\163"
"\153\165\163\061\050\060\046\006\003\125\004\003\014\037\105\105"
"\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\103"
"\145\156\164\162\145\040\122\157\157\164\040\103\101\061\030\060"
"\026\006\011\052\206\110\206\367\015\001\011\001\026\011\160\153"
"\151\100\163\153\056\145\145"
, (PRUint32)119 },
{ (void *)"\002\020\124\200\371\240\163\355\077\000\114\312\211\330\343\161"
"\346\112"
, (PRUint32)18 },
{ (void *)&ckt_nss_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
{ (void *)&ckt_nss_must_verify_trust, (PRUint32)sizeof(CK_TRUST) },
{ (void *)&ckt_nss_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
{ (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
};
builtinsInternalObject
nss_builtins_data[] = {
@ -23965,11 +24369,17 @@ nss_builtins_data[] = {
{ 11, nss_builtins_types_350, nss_builtins_items_350, {NULL} },
{ 13, nss_builtins_types_351, nss_builtins_items_351, {NULL} },
{ 11, nss_builtins_types_352, nss_builtins_items_352, {NULL} },
{ 13, nss_builtins_types_353, nss_builtins_items_353, {NULL} }
{ 13, nss_builtins_types_353, nss_builtins_items_353, {NULL} },
{ 11, nss_builtins_types_354, nss_builtins_items_354, {NULL} },
{ 13, nss_builtins_types_355, nss_builtins_items_355, {NULL} },
{ 11, nss_builtins_types_356, nss_builtins_items_356, {NULL} },
{ 13, nss_builtins_types_357, nss_builtins_items_357, {NULL} },
{ 11, nss_builtins_types_358, nss_builtins_items_358, {NULL} },
{ 13, nss_builtins_types_359, nss_builtins_items_359, {NULL} }
};
const PRUint32
#ifdef DEBUG
nss_builtins_nObjects = 353+1;
nss_builtins_nObjects = 359+1;
#else
nss_builtins_nObjects = 353;
nss_builtins_nObjects = 359;
#endif /* DEBUG */

View File

@ -2,7 +2,7 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
CVS_ID "@(#) $RCSfile: certdata.txt,v $ $Revision: 1.85 $ $Date: 2012/06/28 13:50:18 $"
CVS_ID "@(#) $RCSfile: certdata.txt,v $ $Revision: 1.86 $ $Date: 2012/10/18 16:26:52 $"
#
# certdata.txt
@ -24422,3 +24422,461 @@ CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
#
# Certificate "TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı"
#
# Issuer: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,L=Ankara,C=TR,CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s..
# Serial Number: 1 (0x1)
# Subject: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,L=Ankara,C=TR,CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s..
# Not Valid Before: Tue Dec 25 18:37:19 2007
# Not Valid After : Fri Dec 22 18:37:19 2017
# Fingerprint (MD5): 2B:70:20:56:86:82:A0:18:C8:07:53:12:28:70:21:72
# Fingerprint (SHA1): F1:7F:6F:B6:31:DC:99:E3:A3:C8:7F:FE:1C:F1:81:10:88:D9:60:33
CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
CKA_TOKEN CK_BBOOL CK_TRUE
CKA_PRIVATE CK_BBOOL CK_FALSE
CKA_MODIFIABLE CK_BBOOL CK_FALSE
CKA_LABEL UTF8 "TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı"
CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
CKA_SUBJECT MULTILINE_OCTAL
\060\201\277\061\077\060\075\006\003\125\004\003\014\066\124\303
\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157
\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151
\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304
\261\163\304\261\061\013\060\011\006\003\125\004\006\023\002\124
\122\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141
\162\141\061\136\060\134\006\003\125\004\012\014\125\124\303\234
\122\113\124\122\125\123\124\040\102\151\154\147\151\040\304\260
\154\145\164\151\305\237\151\155\040\166\145\040\102\151\154\151
\305\237\151\155\040\107\303\274\166\145\156\154\151\304\237\151
\040\110\151\172\155\145\164\154\145\162\151\040\101\056\305\236
\056\040\050\143\051\040\101\162\141\154\304\261\153\040\062\060
\060\067
END
CKA_ID UTF8 "0"
CKA_ISSUER MULTILINE_OCTAL
\060\201\277\061\077\060\075\006\003\125\004\003\014\066\124\303
\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157
\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151
\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304
\261\163\304\261\061\013\060\011\006\003\125\004\006\023\002\124
\122\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141
\162\141\061\136\060\134\006\003\125\004\012\014\125\124\303\234
\122\113\124\122\125\123\124\040\102\151\154\147\151\040\304\260
\154\145\164\151\305\237\151\155\040\166\145\040\102\151\154\151
\305\237\151\155\040\107\303\274\166\145\156\154\151\304\237\151
\040\110\151\172\155\145\164\154\145\162\151\040\101\056\305\236
\056\040\050\143\051\040\101\162\141\154\304\261\153\040\062\060
\060\067
END
CKA_SERIAL_NUMBER MULTILINE_OCTAL
\002\001\001
END
CKA_VALUE MULTILINE_OCTAL
\060\202\004\075\060\202\003\045\240\003\002\001\002\002\001\001
\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
\201\277\061\077\060\075\006\003\125\004\003\014\066\124\303\234
\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157\156
\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172
\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261
\163\304\261\061\013\060\011\006\003\125\004\006\023\002\124\122
\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141\162
\141\061\136\060\134\006\003\125\004\012\014\125\124\303\234\122
\113\124\122\125\123\124\040\102\151\154\147\151\040\304\260\154
\145\164\151\305\237\151\155\040\166\145\040\102\151\154\151\305
\237\151\155\040\107\303\274\166\145\156\154\151\304\237\151\040
\110\151\172\155\145\164\154\145\162\151\040\101\056\305\236\056
\040\050\143\051\040\101\162\141\154\304\261\153\040\062\060\060
\067\060\036\027\015\060\067\061\062\062\065\061\070\063\067\061
\071\132\027\015\061\067\061\062\062\062\061\070\063\067\061\071
\132\060\201\277\061\077\060\075\006\003\125\004\003\014\066\124
\303\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162
\157\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110
\151\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143
\304\261\163\304\261\061\013\060\011\006\003\125\004\006\023\002
\124\122\061\017\060\015\006\003\125\004\007\014\006\101\156\153
\141\162\141\061\136\060\134\006\003\125\004\012\014\125\124\303
\234\122\113\124\122\125\123\124\040\102\151\154\147\151\040\304
\260\154\145\164\151\305\237\151\155\040\166\145\040\102\151\154
\151\305\237\151\155\040\107\303\274\166\145\156\154\151\304\237
\151\040\110\151\172\155\145\164\154\145\162\151\040\101\056\305
\236\056\040\050\143\051\040\101\162\141\154\304\261\153\040\062
\060\060\067\060\202\001\042\060\015\006\011\052\206\110\206\367
\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002
\202\001\001\000\253\267\076\012\214\310\245\130\025\346\212\357
\047\075\112\264\350\045\323\315\063\302\040\334\031\356\210\077
\115\142\360\335\023\167\217\141\251\052\265\324\362\271\061\130
\051\073\057\077\152\234\157\163\166\045\356\064\040\200\356\352
\267\360\304\012\315\053\206\224\311\343\140\261\104\122\262\132
\051\264\221\227\203\330\267\246\024\057\051\111\242\363\005\006
\373\264\117\332\241\154\232\146\237\360\103\011\312\352\162\217
\353\000\327\065\071\327\126\027\107\027\060\364\276\277\077\302
\150\257\066\100\301\251\364\251\247\350\020\153\010\212\367\206
\036\334\232\052\025\006\366\243\360\364\340\307\024\324\121\177
\317\264\333\155\257\107\226\027\233\167\161\330\247\161\235\044
\014\366\224\077\205\061\022\117\272\356\116\202\270\271\076\217
\043\067\136\314\242\252\165\367\030\157\011\323\256\247\124\050
\064\373\341\340\073\140\175\240\276\171\211\206\310\237\055\371
\012\113\304\120\242\347\375\171\026\307\172\013\030\317\316\114
\357\175\326\007\157\230\361\257\261\301\172\327\201\065\270\252
\027\264\340\313\002\003\001\000\001\243\102\060\100\060\035\006
\003\125\035\016\004\026\004\024\051\305\220\253\045\257\021\344
\141\277\243\377\210\141\221\346\016\376\234\201\060\016\006\003
\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003
\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006
\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001
\000\020\015\332\370\072\354\050\321\024\225\202\261\022\054\121
\172\101\045\066\114\237\354\077\037\204\235\145\124\134\250\026
\002\100\372\156\032\067\204\357\162\235\206\012\125\235\126\050
\254\146\054\320\072\126\223\064\007\045\255\010\260\217\310\017
\011\131\312\235\230\034\345\124\370\271\105\177\152\227\157\210
\150\115\112\006\046\067\210\002\016\266\306\326\162\231\316\153
\167\332\142\061\244\126\037\256\137\215\167\332\135\366\210\374
\032\331\236\265\201\360\062\270\343\210\320\234\363\152\240\271
\233\024\131\065\066\117\317\363\216\136\135\027\255\025\225\330
\335\262\325\025\156\000\116\263\113\317\146\224\344\340\315\265
\005\332\143\127\213\345\263\252\333\300\056\034\220\104\333\032
\135\030\244\356\276\004\133\231\325\161\137\125\145\144\142\325
\242\233\004\131\206\310\142\167\347\174\202\105\152\075\027\277
\354\235\165\014\256\243\157\132\323\057\230\066\364\360\365\031
\253\021\135\310\246\343\052\130\152\102\011\303\275\222\046\146
\062\015\135\010\125\164\377\214\230\320\012\246\204\152\321\071
\175
END
# Trust for "TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı"
# Issuer: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,L=Ankara,C=TR,CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s..
# Serial Number: 1 (0x1)
# Subject: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,L=Ankara,C=TR,CN=T..RKTRUST Elektronik Sertifika Hizmet Sa..lay..c..s..
# Not Valid Before: Tue Dec 25 18:37:19 2007
# Not Valid After : Fri Dec 22 18:37:19 2017
# Fingerprint (MD5): 2B:70:20:56:86:82:A0:18:C8:07:53:12:28:70:21:72
# Fingerprint (SHA1): F1:7F:6F:B6:31:DC:99:E3:A3:C8:7F:FE:1C:F1:81:10:88:D9:60:33
CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
CKA_TOKEN CK_BBOOL CK_TRUE
CKA_PRIVATE CK_BBOOL CK_FALSE
CKA_MODIFIABLE CK_BBOOL CK_FALSE
CKA_LABEL UTF8 "TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı"
CKA_CERT_SHA1_HASH MULTILINE_OCTAL
\361\177\157\266\061\334\231\343\243\310\177\376\034\361\201\020
\210\331\140\063
END
CKA_CERT_MD5_HASH MULTILINE_OCTAL
\053\160\040\126\206\202\240\030\310\007\123\022\050\160\041\162
END
CKA_ISSUER MULTILINE_OCTAL
\060\201\277\061\077\060\075\006\003\125\004\003\014\066\124\303
\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157
\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151
\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304
\261\163\304\261\061\013\060\011\006\003\125\004\006\023\002\124
\122\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141
\162\141\061\136\060\134\006\003\125\004\012\014\125\124\303\234
\122\113\124\122\125\123\124\040\102\151\154\147\151\040\304\260
\154\145\164\151\305\237\151\155\040\166\145\040\102\151\154\151
\305\237\151\155\040\107\303\274\166\145\156\154\151\304\237\151
\040\110\151\172\155\145\164\154\145\162\151\040\101\056\305\236
\056\040\050\143\051\040\101\162\141\154\304\261\153\040\062\060
\060\067
END
CKA_SERIAL_NUMBER MULTILINE_OCTAL
\002\001\001
END
CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
#
# Certificate "T-TeleSec GlobalRoot Class 3"
#
# Issuer: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
# Serial Number: 1 (0x1)
# Subject: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
# Not Valid Before: Wed Oct 01 10:29:56 2008
# Not Valid After : Sat Oct 01 23:59:59 2033
# Fingerprint (MD5): CA:FB:40:A8:4E:39:92:8A:1D:FE:8E:2F:C4:27:EA:EF
# Fingerprint (SHA1): 55:A6:72:3E:CB:F2:EC:CD:C3:23:74:70:19:9D:2A:BE:11:E3:81:D1
CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
CKA_TOKEN CK_BBOOL CK_TRUE
CKA_PRIVATE CK_BBOOL CK_FALSE
CKA_MODIFIABLE CK_BBOOL CK_FALSE
CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 3"
CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
CKA_SUBJECT MULTILINE_OCTAL
\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105
\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163
\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040
\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060
\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155
\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045
\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123
\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154
\141\163\163\040\063
END
CKA_ID UTF8 "0"
CKA_ISSUER MULTILINE_OCTAL
\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105
\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163
\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040
\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060
\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155
\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045
\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123
\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154
\141\163\163\040\063
END
CKA_SERIAL_NUMBER MULTILINE_OCTAL
\002\001\001
END
CKA_VALUE MULTILINE_OCTAL
\060\202\003\303\060\202\002\253\240\003\002\001\002\002\001\001
\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105\061
\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163\164
\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040\123
\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060\035
\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155\163
\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045\060
\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123\145
\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154\141
\163\163\040\063\060\036\027\015\060\070\061\060\060\061\061\060
\062\071\065\066\132\027\015\063\063\061\060\060\061\062\063\065
\071\065\071\132\060\201\202\061\013\060\011\006\003\125\004\006
\023\002\104\105\061\053\060\051\006\003\125\004\012\014\042\124
\055\123\171\163\164\145\155\163\040\105\156\164\145\162\160\162
\151\163\145\040\123\145\162\166\151\143\145\163\040\107\155\142
\110\061\037\060\035\006\003\125\004\013\014\026\124\055\123\171
\163\164\145\155\163\040\124\162\165\163\164\040\103\145\156\164
\145\162\061\045\060\043\006\003\125\004\003\014\034\124\055\124
\145\154\145\123\145\143\040\107\154\157\142\141\154\122\157\157
\164\040\103\154\141\163\163\040\063\060\202\001\042\060\015\006
\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
\000\060\202\001\012\002\202\001\001\000\275\165\223\360\142\042
\157\044\256\340\172\166\254\175\275\331\044\325\270\267\374\315
\360\102\340\353\170\210\126\136\233\232\124\035\115\014\212\366
\323\317\160\364\122\265\330\223\004\343\106\206\161\101\112\053
\360\052\054\125\003\326\110\303\340\071\070\355\362\134\074\077
\104\274\223\075\141\253\116\315\015\276\360\040\047\130\016\104
\177\004\032\207\245\327\226\024\066\220\320\111\173\241\165\373
\032\153\163\261\370\316\251\011\054\362\123\325\303\024\104\270
\206\245\366\213\053\071\332\243\063\124\331\372\162\032\367\042
\025\034\210\221\153\177\146\345\303\152\200\260\044\363\337\206
\105\210\375\031\177\165\207\037\037\261\033\012\163\044\133\271
\145\340\054\124\310\140\323\146\027\077\341\314\124\063\163\221
\002\072\246\177\173\166\071\242\037\226\266\070\256\265\310\223
\164\035\236\271\264\345\140\235\057\126\321\340\353\136\133\114
\022\160\014\154\104\040\253\021\330\364\031\366\322\234\122\067
\347\372\266\302\061\073\112\324\024\231\255\307\032\365\135\137
\372\007\270\174\015\037\326\203\036\263\002\003\001\000\001\243
\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060
\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004
\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\265
\003\367\166\073\141\202\152\022\252\030\123\353\003\041\224\277
\376\316\312\060\015\006\011\052\206\110\206\367\015\001\001\013
\005\000\003\202\001\001\000\126\075\357\224\325\275\332\163\262
\130\276\256\220\255\230\047\227\376\001\261\260\122\000\270\115
\344\033\041\164\033\176\300\356\136\151\052\045\257\134\326\035
\332\322\171\311\363\227\051\340\206\207\336\004\131\017\361\131
\324\144\205\113\231\257\045\004\036\311\106\251\227\336\202\262
\033\160\237\234\366\257\161\061\335\173\005\245\054\323\271\312
\107\366\312\362\366\347\255\271\110\077\274\026\267\301\155\364
\352\011\257\354\363\265\347\005\236\246\036\212\123\121\326\223
\201\314\164\223\366\271\332\246\045\005\164\171\132\176\100\076
\202\113\046\021\060\156\341\077\101\307\107\000\065\325\365\323
\367\124\076\201\075\332\111\152\232\263\357\020\075\346\353\157
\321\310\042\107\313\314\317\001\061\222\331\030\343\042\276\011
\036\032\076\132\262\344\153\014\124\172\175\103\116\270\211\245
\173\327\242\075\226\206\314\362\046\064\055\152\222\235\232\032
\320\060\342\135\116\004\260\137\213\040\176\167\301\075\225\202
\321\106\232\073\074\170\270\157\241\320\015\144\242\170\036\051
\116\223\303\244\124\024\133
END
# Trust for "T-TeleSec GlobalRoot Class 3"
# Issuer: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
# Serial Number: 1 (0x1)
# Subject: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
# Not Valid Before: Wed Oct 01 10:29:56 2008
# Not Valid After : Sat Oct 01 23:59:59 2033
# Fingerprint (MD5): CA:FB:40:A8:4E:39:92:8A:1D:FE:8E:2F:C4:27:EA:EF
# Fingerprint (SHA1): 55:A6:72:3E:CB:F2:EC:CD:C3:23:74:70:19:9D:2A:BE:11:E3:81:D1
CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
CKA_TOKEN CK_BBOOL CK_TRUE
CKA_PRIVATE CK_BBOOL CK_FALSE
CKA_MODIFIABLE CK_BBOOL CK_FALSE
CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 3"
CKA_CERT_SHA1_HASH MULTILINE_OCTAL
\125\246\162\076\313\362\354\315\303\043\164\160\031\235\052\276
\021\343\201\321
END
CKA_CERT_MD5_HASH MULTILINE_OCTAL
\312\373\100\250\116\071\222\212\035\376\216\057\304\047\352\357
END
CKA_ISSUER MULTILINE_OCTAL
\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105
\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163
\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040
\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060
\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155
\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045
\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123
\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154
\141\163\163\040\063
END
CKA_SERIAL_NUMBER MULTILINE_OCTAL
\002\001\001
END
CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
#
# Certificate "EE Certification Centre Root CA"
#
# Issuer: E=pki@sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE
# Serial Number:54:80:f9:a0:73:ed:3f:00:4c:ca:89:d8:e3:71:e6:4a
# Subject: E=pki@sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE
# Not Valid Before: Sat Oct 30 10:10:30 2010
# Not Valid After : Tue Dec 17 23:59:59 2030
# Fingerprint (MD5): 43:5E:88:D4:7D:1A:4A:7E:FD:84:2E:52:EB:01:D4:6F
# Fingerprint (SHA1): C9:A8:B9:E7:55:80:5E:58:E3:53:77:A7:25:EB:AF:C3:7B:27:CC:D7
CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
CKA_TOKEN CK_BBOOL CK_TRUE
CKA_PRIVATE CK_BBOOL CK_FALSE
CKA_MODIFIABLE CK_BBOOL CK_FALSE
CKA_LABEL UTF8 "EE Certification Centre Root CA"
CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
CKA_SUBJECT MULTILINE_OCTAL
\060\165\061\013\060\011\006\003\125\004\006\023\002\105\105\061
\042\060\040\006\003\125\004\012\014\031\101\123\040\123\145\162
\164\151\146\151\164\163\145\145\162\151\155\151\163\153\145\163
\153\165\163\061\050\060\046\006\003\125\004\003\014\037\105\105
\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\103
\145\156\164\162\145\040\122\157\157\164\040\103\101\061\030\060
\026\006\011\052\206\110\206\367\015\001\011\001\026\011\160\153
\151\100\163\153\056\145\145
END
CKA_ID UTF8 "0"
CKA_ISSUER MULTILINE_OCTAL
\060\165\061\013\060\011\006\003\125\004\006\023\002\105\105\061
\042\060\040\006\003\125\004\012\014\031\101\123\040\123\145\162
\164\151\146\151\164\163\145\145\162\151\155\151\163\153\145\163
\153\165\163\061\050\060\046\006\003\125\004\003\014\037\105\105
\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\103
\145\156\164\162\145\040\122\157\157\164\040\103\101\061\030\060
\026\006\011\052\206\110\206\367\015\001\011\001\026\011\160\153
\151\100\163\153\056\145\145
END
CKA_SERIAL_NUMBER MULTILINE_OCTAL
\002\020\124\200\371\240\163\355\077\000\114\312\211\330\343\161
\346\112
END
CKA_VALUE MULTILINE_OCTAL
\060\202\004\003\060\202\002\353\240\003\002\001\002\002\020\124
\200\371\240\163\355\077\000\114\312\211\330\343\161\346\112\060
\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\165
\061\013\060\011\006\003\125\004\006\023\002\105\105\061\042\060
\040\006\003\125\004\012\014\031\101\123\040\123\145\162\164\151
\146\151\164\163\145\145\162\151\155\151\163\153\145\163\153\165
\163\061\050\060\046\006\003\125\004\003\014\037\105\105\040\103
\145\162\164\151\146\151\143\141\164\151\157\156\040\103\145\156
\164\162\145\040\122\157\157\164\040\103\101\061\030\060\026\006
\011\052\206\110\206\367\015\001\011\001\026\011\160\153\151\100
\163\153\056\145\145\060\042\030\017\062\060\061\060\061\060\063
\060\061\060\061\060\063\060\132\030\017\062\060\063\060\061\062
\061\067\062\063\065\071\065\071\132\060\165\061\013\060\011\006
\003\125\004\006\023\002\105\105\061\042\060\040\006\003\125\004
\012\014\031\101\123\040\123\145\162\164\151\146\151\164\163\145
\145\162\151\155\151\163\153\145\163\153\165\163\061\050\060\046
\006\003\125\004\003\014\037\105\105\040\103\145\162\164\151\146
\151\143\141\164\151\157\156\040\103\145\156\164\162\145\040\122
\157\157\164\040\103\101\061\030\060\026\006\011\052\206\110\206
\367\015\001\011\001\026\011\160\153\151\100\163\153\056\145\145
\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001
\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001
\000\310\040\300\354\340\305\113\253\007\170\225\363\104\356\373
\013\014\377\164\216\141\273\261\142\352\043\330\253\241\145\062
\172\353\216\027\117\226\330\012\173\221\242\143\154\307\214\114
\056\171\277\251\005\374\151\134\225\215\142\371\271\160\355\303
\121\175\320\223\346\154\353\060\113\341\274\175\277\122\233\316
\156\173\145\362\070\261\300\242\062\357\142\262\150\340\141\123
\301\066\225\377\354\224\272\066\256\234\034\247\062\017\345\174
\264\306\157\164\375\173\030\350\254\127\355\006\040\113\062\060
\130\133\375\315\250\346\241\374\160\274\216\222\163\333\227\247
\174\041\256\075\301\365\110\207\154\047\275\237\045\164\201\125
\260\367\165\366\075\244\144\153\326\117\347\316\100\255\017\335
\062\323\274\212\022\123\230\311\211\373\020\035\115\176\315\176
\037\126\015\041\160\205\366\040\203\037\366\272\037\004\217\352
\167\210\065\304\377\352\116\241\213\115\077\143\033\104\303\104
\324\045\166\312\267\215\327\036\112\146\144\315\134\305\234\203
\341\302\010\210\232\354\116\243\361\076\034\054\331\154\035\241
\113\002\003\001\000\001\243\201\212\060\201\207\060\017\006\003
\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006
\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006
\003\125\035\016\004\026\004\024\022\362\132\076\352\126\034\277
\315\006\254\361\361\045\311\251\113\324\024\231\060\105\006\003
\125\035\045\004\076\060\074\006\010\053\006\001\005\005\007\003
\002\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001
\005\005\007\003\003\006\010\053\006\001\005\005\007\003\004\006
\010\053\006\001\005\005\007\003\010\006\010\053\006\001\005\005
\007\003\011\060\015\006\011\052\206\110\206\367\015\001\001\005
\005\000\003\202\001\001\000\173\366\344\300\015\252\031\107\267
\115\127\243\376\255\273\261\152\325\017\236\333\344\143\305\216
\241\120\126\223\226\270\070\300\044\042\146\274\123\024\141\225
\277\320\307\052\226\071\077\175\050\263\020\100\041\152\304\257
\260\122\167\030\341\226\330\126\135\343\335\066\136\035\247\120
\124\240\305\052\344\252\214\224\212\117\235\065\377\166\244\006
\023\221\242\242\175\000\104\077\125\323\202\074\032\325\133\274
\126\114\042\056\106\103\212\044\100\055\363\022\270\073\160\032
\244\226\271\032\257\207\101\032\152\030\015\006\117\307\076\156
\271\051\115\015\111\211\021\207\062\133\346\113\004\310\344\134
\346\164\163\224\135\026\230\023\225\376\373\333\261\104\345\072
\160\254\067\153\346\263\063\162\050\311\263\127\240\366\002\026
\210\006\013\266\246\113\040\050\324\336\075\213\255\067\005\123
\164\376\156\314\274\103\027\161\136\371\305\314\032\251\141\356
\367\166\014\363\162\364\162\255\317\162\002\066\007\107\317\357
\031\120\211\140\314\351\044\225\017\302\313\035\362\157\166\220
\307\314\165\301\226\305\235
END
# Trust for "EE Certification Centre Root CA"
# Issuer: E=pki@sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE
# Serial Number:54:80:f9:a0:73:ed:3f:00:4c:ca:89:d8:e3:71:e6:4a
# Subject: E=pki@sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE
# Not Valid Before: Sat Oct 30 10:10:30 2010
# Not Valid After : Tue Dec 17 23:59:59 2030
# Fingerprint (MD5): 43:5E:88:D4:7D:1A:4A:7E:FD:84:2E:52:EB:01:D4:6F
# Fingerprint (SHA1): C9:A8:B9:E7:55:80:5E:58:E3:53:77:A7:25:EB:AF:C3:7B:27:CC:D7
CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
CKA_TOKEN CK_BBOOL CK_TRUE
CKA_PRIVATE CK_BBOOL CK_FALSE
CKA_MODIFIABLE CK_BBOOL CK_FALSE
CKA_LABEL UTF8 "EE Certification Centre Root CA"
CKA_CERT_SHA1_HASH MULTILINE_OCTAL
\311\250\271\347\125\200\136\130\343\123\167\247\045\353\257\303
\173\047\314\327
END
CKA_CERT_MD5_HASH MULTILINE_OCTAL
\103\136\210\324\175\032\112\176\375\204\056\122\353\001\324\157
END
CKA_ISSUER MULTILINE_OCTAL
\060\165\061\013\060\011\006\003\125\004\006\023\002\105\105\061
\042\060\040\006\003\125\004\012\014\031\101\123\040\123\145\162
\164\151\146\151\164\163\145\145\162\151\155\151\163\153\145\163
\153\165\163\061\050\060\046\006\003\125\004\003\014\037\105\105
\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\103
\145\156\164\162\145\040\122\157\157\164\040\103\101\061\030\060
\026\006\011\052\206\110\206\367\015\001\011\001\026\011\160\153
\151\100\163\153\056\145\145
END
CKA_SERIAL_NUMBER MULTILINE_OCTAL
\002\020\124\200\371\240\163\355\077\000\114\312\211\330\343\161
\346\112
END
CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE

View File

@ -45,8 +45,8 @@
* of the comment in the CK_VERSION type definition.
*/
#define NSS_BUILTINS_LIBRARY_VERSION_MAJOR 1
#define NSS_BUILTINS_LIBRARY_VERSION_MINOR 91
#define NSS_BUILTINS_LIBRARY_VERSION "1.91"
#define NSS_BUILTINS_LIBRARY_VERSION_MINOR 92
#define NSS_BUILTINS_LIBRARY_VERSION "1.92"
/* These version numbers detail the semantic changes to the ckfw engine. */
#define NSS_BUILTINS_HARDWARE_VERSION_MAJOR 1

View File

@ -4,7 +4,7 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* $Id: blapi.h,v 1.48 2012/06/28 17:55:05 rrelyea%redhat.com Exp $ */
/* $Id: blapi.h,v 1.49 2012/10/11 00:10:26 rrelyea%redhat.com Exp $ */
#ifndef _BLAPI_H_
#define _BLAPI_H_
@ -1272,6 +1272,10 @@ PQG_ParamGenSeedLen(
* 2048 256
* 3072 256
*
* If N or seedBytes are set to zero, then PQG_ParamGenSeedLen will
* pick a default value (typically the smallest secure value for these
* variables).
*
* The verify parameters will conform to FIPS186-3 using the smallest
* permissible hash for the key strength.
*/

View File

@ -115,7 +115,7 @@ CTS_EncryptUpdate(CTSContext *cts, unsigned char *outbuf,
if (rv != SECSuccess) {
return SECFailure;
}
PORT_Assert(*outlen == fullblocks);
*outlen = fullblocks; /* AES low level doesn't set outlen */
inbuf += fullblocks;
inlen -= fullblocks;
if (inlen == 0) {
@ -140,7 +140,6 @@ CTS_EncryptUpdate(CTSContext *cts, unsigned char *outbuf,
blocksize, blocksize);
PORT_Memset(lastBlock, 0, blocksize);
if (rv == SECSuccess) {
PORT_Assert(tmp == blocksize);
*outlen = written + blocksize;
}
return rv;
@ -208,19 +207,19 @@ CTS_DecryptUpdate(CTSContext *cts, unsigned char *outbuf,
* the comment for encrypt. NOTE2: since we can't modify inbuf unless
* inbuf and outbuf overlap, just copy inbuf to outbuf and modify it there
*/
pad = blocksize + (inlen - fullblocks);
if (pad != blocksize) {
pad = inlen - fullblocks;
if (pad != 0) {
if (inbuf != outbuf) {
memcpy(outbuf, inbuf, inlen);
/* keep the names so we logically know how we are using the
* buffers */
inbuf = outbuf;
}
memcpy(lastBlock, inbuf+inlen-blocksize-pad, blocksize);
memcpy(lastBlock, inbuf+inlen-blocksize, blocksize);
/* we know inbuf == outbuf now, inbuf is declared const and can't
* be the target, so use outbuf for the target here */
memcpy(outbuf+inlen-blocksize-pad, inbuf+inlen-pad, pad);
memcpy(outbuf+inlen-blocksize, lastBlock, blocksize);
memcpy(outbuf+inlen-pad, inbuf+inlen-blocksize-pad, pad);
memcpy(outbuf+inlen-blocksize-pad, lastBlock, blocksize);
}
/* save the previous to last block so we can undo the misordered
* chaining */
@ -233,7 +232,7 @@ CTS_DecryptUpdate(CTSContext *cts, unsigned char *outbuf,
if (rv != SECSuccess) {
return SECFailure;
}
PORT_Assert(*outlen == fullblocks);
*outlen = fullblocks; /* AES low level doesn't set outlen */
inbuf += fullblocks;
inlen -= fullblocks;
if (inlen == 0) {
@ -275,7 +274,7 @@ CTS_DecryptUpdate(CTSContext *cts, unsigned char *outbuf,
PORT_Memcpy(outbuf, lastBlock, inlen);
*outlen += inlen;
/* copy Cn-1* into last buf to recover Cn-1 */
PORT_Memcpy(lastBlock, Cn-1, inlen);
PORT_Memcpy(lastBlock, Cn_1, inlen);
/* note: because Cn and Cn-1 were out of order, our pointer to Pn also
* points to where Pn-1 needs to reside. From here on out read Pn in
* the code as really Pn-1. */
@ -284,7 +283,6 @@ CTS_DecryptUpdate(CTSContext *cts, unsigned char *outbuf,
if (rv != SECSuccess) {
return SECFailure;
}
PORT_Assert(tmpLen == blocksize);
/* make up for the out of order CBC decryption */
XOR_BLOCK(Pn, Cn_2, blocksize);
XOR_BLOCK(Pn, Cn, blocksize);

View File

@ -133,8 +133,6 @@ struct gcmHashContextStr {
/* f = x^128 + x^7 + x^2 + x + 1 */
static const unsigned int poly_128[] = { 128, 7, 2, 1, 0 };
/* f = x^64 + x^4 + x^3 + x + 1 */
static const unsigned int poly_64[] = { 64, 4, 3, 1, 0 };
/* sigh, GCM defines the bit strings exactly backwards from everything else */
static void
@ -167,14 +165,11 @@ gcmHash_InitContext(gcmHashContext *ghash, const unsigned char *H,
CHECK_MPI_OK( mp_read_unsigned_octets(&ghash->H, H_rev, blocksize) );
/* set the irreducible polynomial. Each blocksize has its own polynomial.
* for now only blocksizes 16 (=128 bits) and 8 (=64 bits) are defined */
* for now only blocksize 16 (=128 bits) is defined */
switch (blocksize) {
case 16: /* 128 bits */
ghash->poly = poly_128;
break;
case 8: /* 64 bits */
ghash->poly = poly_64;
break;
default:
PORT_SetError(SEC_ERROR_INVALID_ARGS);
goto cleanup;
@ -347,15 +342,12 @@ gcmHash_InitContext(gcmHashContext *ghash, const unsigned char *H,
PORT_Memset(ghash->H, 0, sizeof(ghash->H));
gcm_bytes_to_longs(ghash->H, H, blocksize);
/* set the irreducible polynomial. Each blocksize has it's own polynommial
* for now only blocksizes 16 (=128 bits) and 8 (=64 bits) are defined */
/* set the irreducible polynomial. Each blocksize has its own polynommial
* for now only blocksize 16 (=128 bits) is defined */
switch (blocksize) {
case 16: /* 128 bits */
ghash->R = (unsigned long) 0x87; /* x^7 + x^2 + x +1 */
break;
case 8: /* 64 bits */
ghash->R = (unsigned long) 0x1b; /* x^4 + x^3 + x + 1 */
break;
default:
PORT_SetError(SEC_ERROR_INVALID_ARGS);
goto cleanup;
@ -613,7 +605,7 @@ GCM_CreateContext(void *context, freeblCipherFunc cipher,
unsigned int tmp;
PRBool freeCtr = PR_FALSE;
PRBool freeHash = PR_FALSE;
const CK_AES_GCM_PARAMS *gcmParams = (const CK_AES_GCM_PARAMS *)params;
const CK_GCM_PARAMS *gcmParams = (const CK_GCM_PARAMS *)params;
CK_AES_CTR_PARAMS ctrParams;
SECStatus rv;
@ -641,10 +633,7 @@ GCM_CreateContext(void *context, freeblCipherFunc cipher,
/* fill in the Counter context */
ctrParams.ulCounterBits = 32;
PORT_Memset(ctrParams.cb, 0, sizeof(ctrParams.cb));
if ((blocksize == 8) && (gcmParams->ulIvLen == 4)) {
ctrParams.cb[3] = 1;
PORT_Memcpy(&ctrParams.cb[4], gcmParams->pIv, gcmParams->ulIvLen);
} else if ((blocksize == 16) && (gcmParams->ulIvLen == 12)) {
if ((blocksize == 16) && (gcmParams->ulIvLen == 12)) {
PORT_Memcpy(ctrParams.cb, gcmParams->pIv, gcmParams->ulIvLen);
ctrParams.cb[blocksize-1] = 1;
} else {

View File

@ -5,7 +5,7 @@
/*
* PQG parameter generation/verification. Based on FIPS 186-3.
*
* $Id: pqg.c,v 1.23 2012/09/25 23:38:38 wtc%google.com Exp $
* $Id: pqg.c,v 1.25 2012/10/11 00:18:23 rrelyea%redhat.com Exp $
*/
#ifdef FREEBL_NO_DEPEND
#include "stubs.h"
@ -73,7 +73,7 @@ int prime_testcount_q(int L, int N)
* this gives us one place to go if we need to bump the requirements in the
* future.
*/
SECStatus static
static SECStatus
pqg_validate_dsa2(unsigned int L, unsigned int N)
{
@ -103,6 +103,27 @@ pqg_validate_dsa2(unsigned int L, unsigned int N)
return SECSuccess;
}
static unsigned int
pqg_get_default_N(unsigned int L)
{
unsigned int N = 0;
switch (L) {
case 1024:
N = DSA1_Q_BITS;
break;
case 2048:
N = 224;
break;
case 3072:
N = 256;
break;
default:
PORT_SetError(SEC_ERROR_INVALID_ARGS);
break; /* N already set to zero */
}
return N;
}
/*
* Select the lowest hash algorithm usable
*/
@ -221,7 +242,7 @@ PQG_Check(const PQGParams *params)
return SECFailure;
}
j = PQG_PBITS_TO_INDEX(L);
if ( j >= 0 && j <= 8 ) {
if ( j < 0 ) {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
rv = SECFailure;
}
@ -1223,7 +1244,10 @@ pqg_ParamGen(unsigned int L, unsigned int N, pqgGenType type,
PQGVerify *verify = NULL;
PRBool passed;
SECItem hit = { 0, 0, 0 };
mp_int P, Q, G, H, l;
SECItem firstseed = { 0, 0, 0 };
SECItem qseed = { 0, 0, 0 };
SECItem pseed = { 0, 0, 0 };
mp_int P, Q, G, H, l, p0;
mp_err err = MP_OKAY;
SECStatus rv = SECFailure;
int iterations = 0;
@ -1271,11 +1295,13 @@ pqg_ParamGen(unsigned int L, unsigned int N, pqgGenType type,
MP_DIGITS(&G) = 0;
MP_DIGITS(&H) = 0;
MP_DIGITS(&l) = 0;
MP_DIGITS(&p0) = 0;
CHECK_MPI_OK( mp_init(&P) );
CHECK_MPI_OK( mp_init(&Q) );
CHECK_MPI_OK( mp_init(&G) );
CHECK_MPI_OK( mp_init(&H) );
CHECK_MPI_OK( mp_init(&l) );
CHECK_MPI_OK( mp_init(&p0) );
/* Select Hash and Compute lengths. */
/* getFirstHash gives us the smallest acceptable hash for this key
@ -1314,11 +1340,48 @@ step_5:
** "q = 2**(N-1) + U + 1 - (U mod 2) (186-3)
**
** Note: Both formulations are the same for U < 2**(N-1) and N=160
**
** If using Shawe-Taylor, We do the entire A.1.2.1.2 setps in the block
** FIPS186_3_ST_TYPE.
*/
if (type == FIPS186_1_TYPE) {
CHECK_SEC_OK( makeQfromSeed(seedlen, seed, &Q) );
} else {
} else if (type == FIPS186_3_TYPE) {
CHECK_SEC_OK( makeQ2fromSeed(hashtype, N, seed, &Q) );
} else {
/* FIPS186_3_ST_TYPE */
int qgen_counter, pgen_counter;
/* Step 1 (L,N) already checked for acceptability */
firstseed = *seed;
qgen_counter = 0;
/* Step 2. Use N and firstseed to generate random prime q
* using Apendix C.6 */
CHECK_SEC_OK( makePrimefromSeedShaweTaylor(hashtype, N, &firstseed, &Q,
&qseed, &qgen_counter) );
/* Step 3. Use floor(L/2+1) and qseed to generate random prime p0
* using Appendix C.6 */
pgen_counter = 0;
CHECK_SEC_OK( makePrimefromSeedShaweTaylor(hashtype, (L+1)/2+1,
&qseed, &p0, &pseed, &pgen_counter) );
/* Steps 4-22 FIPS 186-3 appendix A.1.2.1.2 */
CHECK_SEC_OK( makePrimefromPrimesShaweTaylor(hashtype, L,
&p0, &Q, &P, &pseed, &pgen_counter) );
/* combine all the seeds */
seed->len = firstseed.len +qseed.len + pseed.len;
seed->data = PORT_ArenaZAlloc(verify->arena, seed->len);
if (seed->data == NULL) {
goto cleanup;
}
PORT_Memcpy(seed->data, firstseed.data, firstseed.len);
PORT_Memcpy(seed->data+firstseed.len, pseed.data, pseed.len);
PORT_Memcpy(seed->data+firstseed.len+pseed.len, qseed.data, qseed.len);
counter = 0 ; /* (qgen_counter << 16) | pgen_counter; */
/* we've generated both P and Q now, skip to generating G */
goto generate_G;
}
/* ******************************************************************
** Step 8. (Step 4 in 186-1)
@ -1403,6 +1466,8 @@ step_11_9:
*/
if (counter > maxCount)
goto step_5;
generate_G:
/* ******************************************************************
** returning p, q, seed and counter
*/
@ -1435,11 +1500,18 @@ step_11_9:
*pParams = params;
*pVfy = verify;
cleanup:
if (pseed.data) {
PORT_Free(pseed.data);
}
if (qseed.data) {
PORT_Free(qseed.data);
}
mp_clear(&P);
mp_clear(&Q);
mp_clear(&G);
mp_clear(&H);
mp_clear(&l);
mp_clear(&p0);
if (err) {
MP_TO_SEC_ERROR(err);
rv = SECFailure;
@ -1489,11 +1561,18 @@ SECStatus
PQG_ParamGenV2(unsigned int L, unsigned int N, unsigned int seedBytes,
PQGParams **pParams, PQGVerify **pVfy)
{
if (N == 0) {
N = pqg_get_default_N(L);
}
if (seedBytes == 0) {
/* seedBytes == L/8 for probable primes, N/8 for Shawe-Taylor Primes */
seedBytes = N/8;
}
if (pqg_validate_dsa2(L,N) != SECSuccess) {
/* error code already set */
return SECFailure;
}
return pqg_ParamGen(L, N, FIPS186_3_TYPE, seedBytes, pParams, pVfy);
return pqg_ParamGen(L, N, FIPS186_3_ST_TYPE, seedBytes, pParams, pVfy);
}

View File

@ -4,7 +4,7 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* $Id: nss.h,v 1.97 2012/09/21 21:58:44 wtc%google.com Exp $ */
/* $Id: nss.h,v 1.99 2012/10/18 16:54:44 kaie%kuix.de Exp $ */
#ifndef __nss_h_
#define __nss_h_
@ -34,12 +34,12 @@
* The format of the version string should be
* "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]"
*/
#define NSS_VERSION "3.14.0.0" _NSS_ECC_STRING _NSS_CUSTOMIZED " Beta"
#define NSS_VERSION "3.14.0.1" _NSS_ECC_STRING _NSS_CUSTOMIZED
#define NSS_VMAJOR 3
#define NSS_VMINOR 14
#define NSS_VPATCH 0
#define NSS_VBUILD 0
#define NSS_BETA PR_TRUE
#define NSS_VBUILD 1
#define NSS_BETA PR_FALSE
#ifndef RC_INVOKED

View File

@ -4,7 +4,7 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* $Id: nssinit.c,v 1.118 2012/09/21 21:58:44 wtc%google.com Exp $ */
/* $Id: nssinit.c,v 1.119 2012/10/09 18:22:46 emaldona%redhat.com Exp $ */
#include <ctype.h>
#include <string.h>
@ -636,15 +636,19 @@ nss_Init(const char *configdir, const char *certPrefix, const char *keyPrefix,
passwordRequired = pk11_password_required;
}
/* we always try to initialize the modules */
rv = nss_InitModules(configdir, certPrefix, keyPrefix, secmodName,
/* Skip the module init if we are already initted and we are trying
* to init with not noCertDB and noModDB */
if (!(isReallyInitted && noCertDB && noModDB)) {
/* we always try to initialize the modules */
rv = nss_InitModules(configdir, certPrefix, keyPrefix, secmodName,
updateDir, updCertPrefix, updKeyPrefix, updateID,
updateName, configName, configStrings, passwordRequired,
readOnly, noCertDB, noModDB, forceOpen, optimizeSpace,
(initContextPtr != NULL));
if (rv != SECSuccess) {
goto loser;
if (rv != SECSuccess) {
goto loser;
}
}
@ -917,6 +921,12 @@ NSS_RegisterShutdown(NSS_ShutdownFunc sFunc, void *appData)
{
int i;
/* make sure our lock and condition variable are initialized one and only
* one time */
if (PR_CallOnce(&nssInitOnce, nss_doLockInit) != PR_SUCCESS) {
return SECFailure;
}
PZ_Lock(nssInitLock);
if (!NSS_IsInitialized()) {
PZ_Unlock(nssInitLock);
@ -975,6 +985,11 @@ NSS_UnregisterShutdown(NSS_ShutdownFunc sFunc, void *appData)
{
int i;
/* make sure our lock and condition variable are initialized one and only
* one time */
if (PR_CallOnce(&nssInitOnce, nss_doLockInit) != PR_SUCCESS) {
return SECFailure;
}
PZ_Lock(nssInitLock);
if (!NSS_IsInitialized()) {
PZ_Unlock(nssInitLock);
@ -1113,6 +1128,11 @@ SECStatus
NSS_Shutdown(void)
{
SECStatus rv;
/* make sure our lock and condition variable are initialized one and only
* one time */
if (PR_CallOnce(&nssInitOnce, nss_doLockInit) != PR_SUCCESS) {
return SECFailure;
}
PZ_Lock(nssInitLock);
if (!nssIsInitted) {
@ -1165,6 +1185,11 @@ NSS_ShutdownContext(NSSInitContext *context)
{
SECStatus rv = SECSuccess;
/* make sure our lock and condition variable are initialized one and only
* one time */
if (PR_CallOnce(&nssInitOnce, nss_doLockInit) != PR_SUCCESS) {
return SECFailure;
}
PZ_Lock(nssInitLock);
/* If one or more threads are in the middle of init, wait for them
* to complete */

View File

@ -425,12 +425,14 @@ sftk_InitGeneric(SFTKSession *session,SFTKSessionContext **contextPtr,
}
context->type = ctype;
context->multi = PR_TRUE;
context->rsa = PR_FALSE;
context->cipherInfo = NULL;
context->hashInfo = NULL;
context->doPad = PR_FALSE;
context->padDataLength = 0;
context->key = key;
context->blockSize = 0;
context->maxLen = 0;
*contextPtr = context;
return CKR_OK;
@ -507,6 +509,7 @@ sftk_CryptInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism,
break;
}
context->multi = PR_FALSE;
context->rsa = PR_TRUE;
if (isEncrypt) {
NSSLOWKEYPublicKey *pubKey = sftk_GetPubKey(key,CKK_RSA,&crv);
if (pubKey == NULL) {
@ -772,6 +775,9 @@ finish_des:
case CKM_AES_CTS:
case CKM_AES_CTR:
case CKM_AES_GCM:
if (pMechanism->mechanism == CKM_AES_GCM) {
context->multi = PR_FALSE;
}
if (key_type != CKK_AES) {
crv = CKR_KEY_TYPE_INCONSISTENT;
break;
@ -1002,8 +1008,8 @@ CK_RV NSC_Encrypt (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData,
if (crv != CKR_OK) return crv;
if (!pEncryptedData) {
*pulEncryptedDataLen = context->multi ?
ulDataLen + 2 * context->blockSize : context->maxLen;
*pulEncryptedDataLen = context->rsa ? context->maxLen :
ulDataLen + 2 * context->blockSize;
goto finish;
}
@ -2015,6 +2021,7 @@ finish_rsa:
crv = CKR_KEY_TYPE_INCONSISTENT;
break;
}
context->rsa = PR_TRUE;
privKey = sftk_GetPrivKey(key,CKK_RSA,&crv);
if (privKey == NULL) {
crv = CKR_KEY_TYPE_INCONSISTENT;
@ -2039,6 +2046,7 @@ finish_rsa:
crv = CKR_KEY_TYPE_INCONSISTENT;
break;
}
context->rsa = PR_TRUE;
if (pMechanism->ulParameterLen != sizeof(CK_RSA_PKCS_PSS_PARAMS)) {
crv = CKR_MECHANISM_PARAM_INVALID;
break;
@ -2532,6 +2540,7 @@ finish_rsa:
crv = CKR_KEY_TYPE_INCONSISTENT;
break;
}
context->rsa = PR_TRUE;
pubKey = sftk_GetPubKey(key,CKK_RSA,&crv);
if (pubKey == NULL) {
if (info) PORT_Free(info);
@ -2552,6 +2561,7 @@ finish_rsa:
crv = CKR_KEY_TYPE_INCONSISTENT;
break;
}
context->rsa = PR_TRUE;
if (pMechanism->ulParameterLen != sizeof(CK_RSA_PKCS_PSS_PARAMS)) {
crv = CKR_MECHANISM_PARAM_INVALID;
break;
@ -2781,6 +2791,7 @@ CK_RV NSC_VerifyRecoverInit(CK_SESSION_HANDLE hSession,
break;
}
context->multi = PR_FALSE;
context->rsa = PR_TRUE;
pubKey = sftk_GetPubKey(key,CKK_RSA,&crv);
if (pubKey == NULL) {
break;

View File

@ -249,6 +249,7 @@ typedef enum {
struct SFTKSessionContextStr {
SFTKContextType type;
PRBool multi; /* is multipart */
PRBool rsa; /* is rsa */
PRBool doPad; /* use PKCS padding for block ciphers */
unsigned int blockSize; /* blocksize for padding */
unsigned int padDataLength; /* length of the valid data in padbuf */

View File

@ -25,11 +25,11 @@
* The format of the version string should be
* "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]"
*/
#define SOFTOKEN_VERSION "3.14.0.0" SOFTOKEN_ECC_STRING " Beta"
#define SOFTOKEN_VERSION "3.14.0.1" SOFTOKEN_ECC_STRING
#define SOFTOKEN_VMAJOR 3
#define SOFTOKEN_VMINOR 14
#define SOFTOKEN_VPATCH 0
#define SOFTOKEN_VBUILD 0
#define SOFTOKEN_BETA PR_TRUE
#define SOFTOKEN_VBUILD 1
#define SOFTOKEN_BETA PR_FALSE
#endif /* _SOFTKVER_H_ */

View File

@ -19,12 +19,12 @@
* The format of the version string should be
* "<major version>.<minor version>[.<patch level>[.<build number>]][ <Beta>]"
*/
#define NSSUTIL_VERSION "3.14.0.0 Beta"
#define NSSUTIL_VERSION "3.14.0.1"
#define NSSUTIL_VMAJOR 3
#define NSSUTIL_VMINOR 14
#define NSSUTIL_VPATCH 0
#define NSSUTIL_VBUILD 0
#define NSSUTIL_BETA PR_TRUE
#define NSSUTIL_VBUILD 1
#define NSSUTIL_BETA PR_FALSE
SEC_BEGIN_PROTOS

View File

@ -1495,6 +1495,7 @@ typedef struct CK_AES_CBC_ENCRYPT_DATA_PARAMS {
typedef CK_AES_CBC_ENCRYPT_DATA_PARAMS CK_PTR CK_AES_CBC_ENCRYPT_DATA_PARAMS_PTR;
/* CK_AES_CTR_PARAMS is new for PKCS #11 v2.20 amendment 3 */
typedef struct CK_AES_CTR_PARAMS {
CK_ULONG ulCounterBits;
CK_BYTE cb[16];
@ -1502,26 +1503,28 @@ typedef struct CK_AES_CTR_PARAMS {
typedef CK_AES_CTR_PARAMS CK_PTR CK_AES_CTR_PARAMS_PTR;
typedef struct CK_AES_GCM_PARAMS {
/* CK_GCM_PARAMS is new for version 2.30 */
typedef struct CK_GCM_PARAMS {
CK_BYTE_PTR pIv;
CK_ULONG ulIvLen;
CK_BYTE_PTR pAAD;
CK_ULONG ulAADLen;
CK_ULONG ulTagBits;
} CK_AES_GCM_PARAMS;
} CK_GCM_PARAMS;
typedef CK_AES_GCM_PARAMS CK_PTR CK_AES_GCM_PARAMS_PTR;
typedef CK_GCM_PARAMS CK_PTR CK_GCM_PARAMS_PTR;
typedef struct CK_AES_CCM_PARAMS {
/* CK_CCM_PARAMS is new for version 2.30 */
typedef struct CK_CCM_PARAMS {
CK_ULONG ulDataLen;
CK_BYTE_PTR pNonce;
CK_ULONG ulNonceLen;
CK_BYTE_PTR pAAD;
CK_ULONG ulAADLen;
CK_ULONG ulMACLen;
} CK_AES_CCM_PARAMS;
} CK_CCM_PARAMS;
typedef CK_AES_CCM_PARAMS CK_PTR CK_AES_CCM_PARAMS_PTR;
typedef CK_CCM_PARAMS CK_PTR CK_CCM_PARAMS_PTR;
/* CK_SKIPJACK_PRIVATE_WRAP_PARAMS provides the parameters to the
* CKM_SKIPJACK_PRIVATE_WRAP mechanism */

View File

@ -18,7 +18,8 @@
#include "prprf.h"
#include "prsystem.h"
#include "lgglue.h"
#include "pkcs11t.h"
#include "secitem.h"
#include "utilpars.h"
#include "secerr.h"
#if defined (_WIN32)

View File

@ -104,6 +104,7 @@ do
${BINDIR}/bltest -N -m $mode -b $bufsize -g $keysize -u $cxreps >> ${DSAPERFOUT}
mv "tmp.in.0" "$mode.in"
mv tmp.key $mode.key
rm -f $mode.out
echo "bltest -S -m $mode -i ${CIPHERDIR}/$mode.in -k ${CIPHERDIR}/$mode.key -p $reps -o ${CIPHERDIR}/$mode.out"
${BINDIR}/bltest -S -m $mode -i ${CIPHERDIR}/$mode.in -k ${CIPHERDIR}/$mode.key -p $reps -o ${CIPHERDIR}/$mode.out >> ${DSAPERFOUT}
echo "bltest -V -m $mode -f ${CIPHERDIR}/$mode.out -k ${CIPHERDIR}/$mode.key -p $reps -i ${CIPHERDIR}/$mode.in -o ${CIPHERDIR}/$mode.out"

View File

@ -0,0 +1,92 @@
#! /bin/bash
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
########################################################################
# mozilla/security/nss/tests/lowhash/lowhash.sh
#
# Script to test basic functionallity of the NSSLoHash API
#
# included from
# --------------
# all.sh
#
# needs to work on all Linux platforms
#
# tests implemented:
# lowash (verify encryption cert - bugzilla bug 119059)
#
# special strings
# ---------------
#
########################################################################
errors=0
############################## lowhash_init ##############################
# local shell function to initialize this script
########################################################################
lowhash_init()
{
SCRIPTNAME=lowhash.sh # sourced - $0 would point to all.sh
if [ -z "${CLEANUP}" ] ; then # if nobody else is responsible for
CLEANUP="${SCRIPTNAME}" # cleaning this script will do it
fi
if [ -z "${INIT_SOURCED}" -o "${INIT_SOURCED}" != "TRUE" ]; then
cd ../common
. ./init.sh
fi
LOWHASHDIR=../lowhash
mkdir -p ${LOWHASHDIR}
html_head "Lowhash Tests"
cd ${LOWHASHDIR}
}
############################## lowhash_test ##############################
# local shell function to test basic the NSS Low Hash API both in
# FIPS 140 compliant mode and not
########################################################################
lowhash_test()
{
if [ ! -f ${BINDIR}/lowhashtest -a \
! -f ${BINDIR}/lowhashtest${PROG_SUFFIX} ]; then
echo "freebl lowhash not supported in this plaform."
else
TESTS="MD5 SHA1 SHA224 SHA256 SHA384 SHA512"
OLD_MODE=`echo ${NSS_FIPS}`
for fips_mode in 0 1; do
echo "lowhashtest with fips mode=${mode}"
export NSS_FIPS=${fips_mode}
for TEST in ${TESTS}
do
echo "lowhashtest ${TEST}"
${BINDIR}/lowhashtest ${TEST} 2>&1
RESULT=$?
html_msg ${RESULT} 0 "lowhashtest with fips mode=${mode} for ${TEST}"
done
done
export NSS_FIPS=${OLD_MODE}
fi
}
############################## lowhash_cleanup ############################
# local shell function to finish this script (no exit since it might be
# sourced)
########################################################################
lowhash_cleanup()
{
html "</TABLE><BR>"
cd ${QADIR}
. common/cleanup.sh
}
################## main #################################################
lowhash_init
lowhash_test
lowhash_cleanup
echo "lowhash.sh done"

View File

@ -1,5 +1,2 @@
This directory contains patches that were added locally
on top of the NSS release.
bug-797572: Export SRTP functions from libssl, needed for WebRTC. This will be
included in the final NSS 3.14 release.

Some files were not shown because too many files have changed in this diff Show More