Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3253)

Unified Diff: chrome/test/data/safe_browsing/mach_o/Makefile

Issue 2934373002: Record Code Signature of Downloaded DMG files (Closed)
Patch Set: rebase for trybots Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/safe_browsing/mach_o/Makefile
diff --git a/chrome/test/data/safe_browsing/mach_o/Makefile b/chrome/test/data/safe_browsing/mach_o/Makefile
index 199685ba4be827136bd1cbccc42a0a523b0cfa34..ed00edf968763a18aebceb1b95f3484fa7b76031 100644
--- a/chrome/test/data/safe_browsing/mach_o/Makefile
+++ b/chrome/test/data/safe_browsing/mach_o/Makefile
@@ -6,6 +6,10 @@ KEYCHAIN_PASSWORD=g0atMaster
# This must match the commonName in codesign.cfg.
KEYCHAIN_IDENTITY=untrusted@goat.local
+# Funcitons to add and remove key and cert to users keychain.
+pre-build = security import codesign.key; security import codesign.crt
Greg K 2017/06/30 18:16:22 I would make this && because if one fails, the oth
mortonm 2017/06/30 20:01:06 Done.
+post-build = security delete-identity -c untrusted@goat.local
+
executable32: src.c
clang -m32 -o $@ $^
@@ -34,58 +38,57 @@ codesign.crt: codesign.csr codesign.key codesign.cfg
openssl x509 -req -signkey codesign.key -sha256 \
-extfile codesign.cfg -extensions req_attrs -in $< -out $@
-codesign.keychain: codesign.key codesign.crt
- security create-keychain -p $(KEYCHAIN_PASSWORD) $(PWD)/$@
- security unlock-keychain -p $(KEYCHAIN_PASSWORD) $(PWD)/$@
- certtool i ./codesign.crt k=$(PWD)/$@ r=./codesign.key
-
-signedexecutable32: executable32 codesign.keychain
+signedexecutable32: executable32 codesign.crt
+ $(call pre-build)
cp $< $@
- security unlock-keychain -p $(KEYCHAIN_PASSWORD) \
- $(PWD)/codesign.keychain
- codesign -s $(KEYCHAIN_IDENTITY) --keychain $(PWD)/codesign.keychain $@
+ codesign -s $(KEYCHAIN_IDENTITY) $@
+ $(call post-build)
-libsigned64.dylib: lib64.dylib codesign.keychain
+libsigned64.dylib: lib64.dylib codesign.crt
+ $(call pre-build)
cp $< $@
- security unlock-keychain -p $(KEYCHAIN_PASSWORD) \
- $(PWD)/codesign.keychain
- codesign -s $(KEYCHAIN_IDENTITY) --keychain $(PWD)/codesign.keychain $@
+ codesign -s $(KEYCHAIN_IDENTITY) $@
+ $(call post-build)
-signedexecutablefat: executablefat codesign.keychain
+signedexecutablefat: executablefat codesign.crt
+ $(call pre-build)
cp $< $@
- security unlock-keychain -p $(KEYCHAIN_PASSWORD) \
- $(PWD)/codesign.keychain
- codesign -s $(KEYCHAIN_IDENTITY) --keychain $(PWD)/codesign.keychain \
- $@ --all-architectures
+ codesign -s $(KEYCHAIN_IDENTITY) $@ --all-architectures
+ $(call post-build)
+
+signed-archive.dmg: test-bundle.app codesign.crt
+ $(call pre-build)
+ hdiutil create -srcfolder test-bundle.app -format UDZO -layout \
+ SPUD -volname "Signed Archive" -ov $@
+ codesign -s $(KEYCHAIN_IDENTITY) $@
+ $(call post-build)
.PHONY: test-bundle.app
test-bundle.app: signedexecutablefat libsigned64.dylib executable32
+ $(call pre-build)
ditto base-bundle.app $@
ditto $< $@/Contents/MacOS/test-bundle
ditto $(word 2,$^) $@/Contents/Frameworks/$(word 2,$^)
ditto $(word 3,$^) $@/Contents/Resources/$(word 3,$^)
- security unlock-keychain -p $(KEYCHAIN_PASSWORD) \
- $(PWD)/codesign.keychain
- codesign -f -s $(KEYCHAIN_IDENTITY) --keychain $(PWD)/codesign.keychain \
- $@ --all-architectures --resource-rules ResourceRules
+ codesign -f -s $(KEYCHAIN_IDENTITY) $@ --all-architectures \
+ --resource-rules ResourceRules
+ $(call post-build)
.PHONY: modified-bundle.app
modified-bundle.app: test-bundle.app lib32.dylib executable64
+ $(call pre-build)
ditto $< $@
echo "<xml/>" > $@/Contents/Resources/Base.lproj/InfoPlist.strings
- security unlock-keychain -p $(KEYCHAIN_PASSWORD) \
- $(PWD)/codesign.keychain
- codesign -f -s $(KEYCHAIN_IDENTITY) --keychain $(PWD)/codesign.keychain \
- $@ --all-architectures --resource-rules ResourceRules
+ codesign -f -s $(KEYCHAIN_IDENTITY) $@ --all-architectures \
+ --resource-rules ResourceRules
echo "BAD" > $@/Contents/Resources/Base.lproj/InfoPlist.strings
touch $@/Contents/Resources/codesign.cfg
ditto $(word 2,$^) $@/Contents/Frameworks/libsigned64.dylib
ditto $(word 3,$^) $@/Contents/Resources/executable32
echo "foo" >> $@/Contents/Resources/Base.lproj/MainMenu.nib
- security unlock-keychain -p $(KEYCHAIN_PASSWORD) \
- $(PWD)/codesign.keychain
- codesign -f -s $(KEYCHAIN_IDENTITY) --keychain $(PWD)/codesign.keychain \
+ codesign -f -s $(KEYCHAIN_IDENTITY) \
$@/Contents/Resources/Base.lproj/MainMenu.nib
+ $(call post-build)
.PHONY: modified-bundle-and-exec.app
modified-bundle-and-exec.app: test-bundle.app lib32.dylib executable64
@@ -110,10 +113,10 @@ modified-main-exec64.app: test-bundle.app
.PHONY: modified-localization.app
modified-localization.app: test-bundle.app
+ $(call pre-build)
ditto $< $@
echo "<xml/>" > $@/Contents/Resources/Base.lproj/InfoPlist.strings
- security unlock-keychain -p $(KEYCHAIN_PASSWORD) \
- $(PWD)/codesign.keychain
- codesign -f -s $(KEYCHAIN_IDENTITY) --keychain $(PWD)/codesign.keychain \
- $@ --all-architectures --resource-rules ResourceRules
+ codesign -f -s $(KEYCHAIN_IDENTITY) $@ --all-architectures \
+ --resource-rules ResourceRules
echo "CORRUPT" > $@/Contents/Resources/Base.lproj/InfoPlist.strings
+ $(call post-build)

Powered by Google App Engine
This is Rietveld 408576698